it-swarm-id.com

Bagaimana cara mengatur izin file default untuk semua folder / file dalam direktori?

Saya ingin mengatur folder sehingga apa pun yang dibuat di dalamnya (direktori, file) mewarisi izin dan grup default.

Mari kita panggil grup "media". Dan juga, folder/file yang dibuat dalam direktori harus memiliki g + rw secara otomatis.

274
Chris

Saya menemukannya: Menerapkan izin default

Dari artikel:

chmod g+s <directory>  //set gid 
setfacl -d -m g::rwx /<directory>  //set group to rwx default 
setfacl -d -m o::rx /<directory>   //set other

Selanjutnya kita dapat memverifikasi:

getfacl /<directory>

Keluaran:

# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
288
Chris

Ini adalah tambahan untuk jawaban Chris, ini berdasarkan pengalaman saya di rig Arch Linux saya.

Menggunakan sakelar default (-d) dan sakelar ubah (-m) hanya akan memodifikasi izin default tetapi membiarkan yang ada tetap ada:

setfacl -d -m g::rwx /<directory>

Jika Anda ingin mengubah seluruh struktur izin folder termasuk yang sudah ada (Anda harus melakukan baris tambahan dan membuatnya rekursif -R:

setfacl -R -m g::rwx /<directory>

misalnya.

setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 

( KREDIT untuk markdwite dalam komentar untuk sintaks dari baris pencabutan semua hak istimewa)

29
thebunnyrules

Tambahkan diri Anda/pengguna yang dicatat ke grup data-www, sehingga kami dapat bekerja dengan file yang dibuat oleh server data-www

Sudo usermod -a -G www-data $USER

Perlu memulai ulang/login kembali agar grup yang baru ditambahkan berlaku

cd /var/www

Tambahkan www-data sebagai anggota grup folder html, dan pengguna Anda sebagai pemilik, jadi kami memilikinya serta anggota grup

Sudo chown -R $USER:www-data html

Masukkan nama pengguna Anda di tempat USER

Atur baca, tulis, jalankan izin seperti yang diperlukan, (ugo) u = pengguna, g = grup, o = orang lain

Sudo chmod 750 html

Setel GID html, sekarang, file yang baru dibuat dalam html akan mewarisi izin kepemilikan:

Sudo chmod g+s html

Ini menciptakan aturan default untuk file/dir yang baru dibuat dalam direktori html dan sub direktori.

Sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html

Buat SELinux jika terinstal, abaikan persyaratan konteks data-www sehingga memungkinkan izin menulis

Sudo setsebool -P httpd_unified 1

daftar direktori untuk melihat izin baru diterapkan

ls -ld html

Mengembalikan ini

drwxrwsr-x+   3 html www-data

Trailing + menandakan bahwa ACL, Access Control List, diatur pada direktori.

Referensi: Tautan ke forum

1
Bsienn