web-dev-qa-db-ja.com

同じディレクトリで2人のユーザーに権限を与える方法(Linux)

同じディレクトリ内の2人のユーザーに許可を与える必要があります。

/ var/wwwでWebアプリケーションを実行していて、Webサーバー(nginx)を書き込み可能にし、ftpユーザーへのアクセスを許可したい(/ var/wwwはftpユーザーのホームディレクトリです)。 setfaclを試しましたが、機能しませんか?

2
John
  1. (オプションで)グループを作成しますgroupadd groupname
  2. 両方のユーザーをグループに追加しますfor u in user1 user2 ; do usermod -aG groupname $u ; done
  3. グループをディレクトリ(およびその中のファイル)の所有者として設定しますchown :groupname /var/www ; chmod -R g+rwX /var/www
4
Jon Story

aclは機能するはずです。正しく使っていますか?既存のファイルに再帰的なルールを与え、新しいファイルにデフォルトを与えますか?

Sudo setfacl -Rm d:g:<user-group>:rwX,g:<user-group>:rwX /var/www

メイングループにファイルに対するrw権限とディレクトリに対するx権限を付与します(それらを入力するため)。

-R: recursive
-m: modify existing rule (used to modify the existing permissions)
d:g:...:rwX: this indicates the default part for new files/directories
g:..:rwX: group to use for the acl
rwX: read, write and change directory allowed (rwx will allow execute on files too)

コマンドには2つの部分があります:d:g:..... の前に ,およびg:.... 後に ,最初のもの(d:...)は、新しいファイル/ディレクトリと2番目のファイル/ディレクトリ(g:...)既存のファイルを変更します。

Obs:グループ(g :)の代わりに、ユーザー(u :)またはその他(o :)にaclを使用することもできます。

2
laurent