GNU/Linux >> Belajar Linux >  >> Linux

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

Saya menemukannya:Menerapkan izin default

Dari artikel:

  1. Atur setgid bit, sehingga file/folder di bawah akan dibuat dengan grup yang sama dengan

    chmod g+s <directory>
    
  2. Tetapkan ACL default untuk grup dan lainnya

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

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

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

Menggunakan sakelar default (-d ) dan sakelar modifikasi (-m ) hanya akan mengubah izin default tetapi membiarkan izin yang sudah ada tetap utuh:

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 dengan -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 ke markdwite di komentar untuk sintaks baris cabut semua hak istimewa)


Tambahkan diri Anda/pengguna yang tercatat 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 ulang agar grup yang baru ditambahkan dapat diterapkan

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 sebagai ganti USER

Setel baca, tulis, jalankan izin sesuai kebutuhan, (ugo) u=pengguna, g=grup, o=lainnya

sudo chmod 750 html

Tetapkan GID html, sekarang, file yang baru dibuat di html akan mewarisi izin kepemilikan:

sudo chmod g+s html

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

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

Buat SELinux jika diinstal, abaikan persyaratan konteks www-data 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

Tanda + tambahan menandakan bahwa ACL, Daftar Kontrol Akses, diatur pada direktori.

Referensi :Tautan ke forum


Linux
  1. Bagaimana Cara Menggunakan Inotifywait Untuk Menonton Direktori Untuk Pembuatan File Ekstensi Tertentu?

  2. Linux – Masalah Izin Untuk Direktori Bersama Di Server?

  3. Pelajari cara mengubah izin untuk file dan folder

  1. Cara Menemukan Semua File dengan Ukuran File Nol (0) Bytes di Direktori Secara Rekursif

  2. Bagaimana Cara Mengatur File Zip Kata Sandi dengan Perintah di semua OS?

  3. Bagaimana mengubah semua kemunculan kata di semua file dalam direktori

  1. perintah linux untuk mengosongkan semua file direktori

  2. Bagaimana cara mengatur nick default untuk koneksi irssi baru?

  3. Bagaimana cara kerja izin file untuk pengguna root?