777にアクセス許可が設定されているフォルダーがありますが、そのフォルダーに解凍するファイルまたはフォルダーを追加すると。抽出されたファイルまたはフォルダーのアクセス許可は変更されません。宛先フォルダーの許可は777であり、そのフォルダーに追加するものが自動的に777の許可を取得するようにします。
そのフォルダーで.Zipを抽出してファイルまたはフォルダーを追加しても、抽出されたフォルダー/ファイルのアクセス許可は自動的に変更されません。新しくファイル/フォルダーを追加するには、常にchmodする必要があります!
必要なものはACL- Access Control Lists と呼ばれます。
アクセス制御リスト(ACL)は、ファイルシステムに追加の、より柔軟な許可メカニズムを提供します。 UNIXファイルの許可を支援するように設計されています。 ACLを使用すると、任意のユーザーまたはグループに任意のディスクリソースへのアクセス許可を付与できます。
acl
パッケージは既にインストールされている必要があります。チェックするには、dpkg -s acl
を実行します。
ACLを使用するには、ファイルシステムでACLを有効にする必要があります。ただし、すでに有効になっている可能性があります。確認するには、tune2fs -l
を使用します。システムを/dev/sda6
に置き換えます:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
aclWordが表示されている場合-デバイス/dev/sda6
に対して既に有効になっています。
aclWordが表示されない場合は、tune2fs -o acl /dev/sda6
を実行して有効にします。
ACLを変更するには、setfaclコマンドを使用します。許可を追加するには、setfacl -mを使用します。
$ setfacl -m "u:username:rwx" /path/to/folder
これにより、rwx
ACLがユーザーusername
に/ path/to/folderに設定されます。つまり、このフォルダーで作成されたすべてのファイルには、rwx
に対するusername
権限があります。
$ setfacl -m "g:groupname:rwx" /path/to/folder
これにより、グループrwx
のgroupname
ACLが/ path/to/folderに設定されます。つまり、このフォルダーで作成されたすべてのファイルには、グループrwx
のgroupname
権限があります。
$ setfacl -m "o:rwx" /path/to/folder
これにより、rwx
ACLが/ path/to/folderに設定されます。つまり、このフォルダーで作成されたすべてのファイルには、他のユーザーに対するrwx
権限があります。
$ getfacl /path/to/folder
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
The new object inherits the default ACL of the containing directory as its
access ACL.
If no default ACL is associated with a directory, the mode parameter to the func‐
tions creating file objects and the file creation mask (see umask(2)) are used to
determine the ACL of the new object:
The new object is assigned an access ACL containing entries of tag types
ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
are set to the permissions specified by the file creation mask.
したがって、デフォルトACLを設定すると、preferredACLになります。つまり、user
またはgroup
にACLを設定すると、新しく作成されたファイルはdefaultaclとにかく。デフォルトACLに注意してください。
デフォルトのACLを設定するには、-d
キーを使用します。
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
またはdefault
Wordを使用します
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
デフォルトACLの設定には注意してください。たとえば、次のように設定した場合:
$ setfacl -d -m o:--x /path/to/folder
そして今、このACLを取得します
$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x
グループとユーザーのデフォルトACLは自動的にrwx
になります!
$ setfacl -b /path/to/folder
これにより、すべてのACLがフォルダーから削除されます
システムのユーザーのみである場合は、デフォルトのACLを使用することをお勧めします。
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
これは、/ path/to/folderに必要なことを行います
archlinux - https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubunt - https://help.ubuntu.com/community/FilePermissionsACLs