Saya memiliki folder yang izinnya diatur ke 777 tetapi ketika saya menambahkan file atau folder apa pun, buka ritsleting di folder itu. File atau izin folder yang diekstraksi tidak pernah berubah. Izin folder tujuan adalah 777 dan saya ingin apa yang akan saya tambahkan di folder itu akan secara otomatis mendapatkan izin 777.
Ketika saya menambahkan file atau folder apa pun dengan mengekstrak .zip di folder itu, izin folder/file yang diekstraksi tidak akan berubah secara otomatis. Saya selalu harus chmod untuk menambahkan file/folder baru!
Jawaban yang Diterima:
Apa yang Anda inginkan disebut ACL – Daftar Kontrol Akses.
Access Control List (ACL) menyediakan mekanisme izin
tambahan yang lebih fleksibel untuk sistem file. Ini dirancang untuk membantu
izin file UNIX. ACL memungkinkan Anda memberikan izin untuk setiap pengguna
atau grup ke sumber daya disk apa pun.
acl
paket harus sudah diinstal, untuk memeriksanya jalankan:dpkg -s acl
.
Untuk menggunakan ACL, Anda harus mengaktifkannya untuk sistem file Anda. Tapi itu bisa sudah diaktifkan . Untuk memeriksanya gunakan tune2fs -l
. Pengganti /dev/sda6
untuk sistem Anda:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Jika Anda melihat acl kata – sudah diaktifkan untuk perangkat /dev/sda6
.
Jika Anda tidak melihat acl kata – jalankan tune2fs -o acl /dev/sda6
untuk mengaktifkannya.
Untuk memodifikasi ACL gunakan setfacl memerintah. Untuk menambahkan izin, gunakan setfacl -m .
Untuk menyetel izin bagi pengguna:
$ setfacl -m "u:username:rwx" /path/to/folder
Ini akan mengatur rwx
ACL, untuk pengguna username
ke /path/ke/folder. Artinya semua file yang dibuat di folder ini akan memiliki rwx
izin untuk username
.
Untuk menyetel izin grup:
$ setfacl -m "g:groupname:rwx" /path/to/folder
Ini akan mengatur rwx
ACL, untuk grup groupname
ke /path/ke/folder. Artinya semua file yang dibuat di folder ini akan memiliki rwx
izin untuk grup groupname
.
Untuk menyetel izin untuk yang lain:
$ setfacl -m "o:rwx" /path/to/folder
Ini akan mengatur rwx
ACL, untuk yang lain ke /path/ke/folder. Artinya semua file yang dibuat di folder ini akan memiliki rwx
izin untuk yang lain.
Untuk memeriksa izin:
$ getfacl /path/to/folder
Untuk menggabungkan acl
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
ACL Default
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.
Jadi jika Anda menyetel ACL default, itu akan lebih disukai ACL. Itu berarti jika mengatur ACL untuk user
atau group
, file yang baru dibuat akan mewarisi default acl bagaimanapun . Hati-hati dengan ACL default.
Untuk menyetel acl default gunakan -d
kunci,
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
atau gunakan default
kata
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Hati-hati dengan setting default ACL. Misalnya jika diatur seperti ini:
$ setfacl -d -m o:--x /path/to/folder
dan sekarang ambil ACL ini
$ 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 default untuk grup dan pengguna adalah rwx
secara otomatis!
Hapus ACL
$ setfacl -b /path/to/folder
Ini akan menghapus semua ACL dari folder
Akhirnya
Jika Anda hanya pengguna di sistem, saya sarankan menggunakan ACL default.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
Ini akan melakukan apa yang Anda inginkan untuk /path/to/folder
Sumber
archlinux – https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubuntu – https://help.ubuntu.com/community/FilePermissionsACLs