GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara memaksa grup dan izin untuk file yang dibuat di dalam direktori tertentu?

Untuk mengatur grup, berikan /var/www setgid sedikit:

chgrp www-data /var/www
chmod g+s /var/www

Untuk juga menyesuaikan subdirektori:find /var/www -type d -exec chmod g+s {} +

Ini akan membuat semua file yang baru dibuat mewarisi grup direktori induk, bukan milik pengguna.

Untuk menyetel izin grup default, Anda harus menggunakan ACL . Tetapkan ACL "default":

setfacl -m "default:group::rwx" /var/www

Untuk juga menyesuaikan subdirektori:find /var/www -type d -exec setfacl -m d:g::rwx {} +

Catatan:Sistem file harus mengaktifkan dukungan ACL. Terkadang aktif secara default; di ext3 atau ext4 Anda mungkin mendapatkan "Operasi tidak didukung", dalam hal ini harus diaktifkan secara manual:

  • Untuk sistem file yang terpasang saat ini:mount -o remount,acl /

  • Secara permanen – satu dari metode di bawah ini:

    • pada level fstab:edit /etc/fstab untuk memiliki acl di bidang opsi

    • pada tingkat sistem file:tune2fs -o acl /dev/diskname


Ini mungkin membuat beberapa orang terjebak dengan jawaban 'grawity' di setgid, jika grup folder berbeda dari milik Anda, Anda mungkin perlu menjalankan chmod sebagai root tetapi Anda tidak akan mendapatkan kesalahan yang menunjukkan bahwa Anda perlu melakukan ini.

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                    #no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo       #and the group is still wrong


$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo #and group is set

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

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

  3. Bagaimana cara mengubah izin untuk folder dan subfolder/file dalam satu langkah?

  1. Untuk mengubah izin untuk direktori dan file

  2. Bagaimana Anda membedakan direktori hanya untuk file dari jenis tertentu?

  3. Bagaimana cara mengatur izin linux untuk folder WWW?

  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Linux – Bagaimana Cara Mengatur Izin File Default Untuk Semua Folder / File Di Direktori?

  3. Pelajari cara mengubah izin untuk file dan folder