ユーザーが他のユーザーやグループのファイルをコピーできるようにする方法は?

ユーザーが他のユーザーやグループのファイルをコピーできるようにする方法は?

さようなら

「/home/developers」にホームフォルダがある「developers」(sudoアクセス権なし)というLinuxユーザーとグループがあります。

nginxを実行しているのと同じサーバーには、「mysite.com」というWebサイト用のWebフォルダがあります。 Webフォルダは "/usr/local/nginx/html/mysite.com/"にあり、フォルダサイトの権限は "nginx:developers"、chmod権限は770です。これで問題が発生します。

ユーザーは「開発者」ユーザーを使用してファイルをサーバーに「scp」します。ファイルは(明らかに)「開発者」所有者と一緒に「/home/developers」フォルダに保存されます。ユーザーはこのファイルを "/usr/local/nginx/html/mysite.com/"フォルダにコピーする必要があります。 「Developer」ユーザーがファイルをコピーした後、「testfile.py」を「/usr/local/nginx/html/mysite.com/」にコピーでき、ファイル所有者はまだ「Developer:Developer」です。したがって、nginxはファイルを読み取ることができません。

どうすればいいですか?ユーザー「開発者」がnginx:nginx権限を使用して「/usr/local/nginx/html/mysite.com/」にファイルを転送できるようにする方法は? (Sudoアクセスを許可しません)。それとも、nginxがこれらのファイルを読むことができるように、グループレベルで何ができますか?

編集:nginxとphp-fpmは "nginx"で実行されます。

よろしくお願いします。

ベストアンサー1

nginxがこれらのファイルを読むことができるように、グループレベルで何ができますか?

nginxユーザーをグループに入れるのに特別な問題があるとは限りませんdevelopers

rootユーザーとして:

usermod -a -G developers nginx

ユーザーは複数のグループに所属できます。nginx現在どの項目が含まれているかを確認できます。

grep nginx /etc/group
# Or more simply:
id nginx

を置くのに問題がある場合は、nginx新しいdevelopersグループを作成しnginxdevelopersユーザーをそのグループに入れてから、転送されたファイルに対応するGIDがあることを確認する必要があります。

新しいグループメンバーシップを取得するには、もう一度ログインする必要があります。ログインしていないアカウント(おそらく1つ)の場合は、同じ操作を実行するプロセスをnginx使用または開始できます(この場合はnginxサーバー自体が機能する必要があります)。su

おすすめ記事