GNU/Linux >> Belajar Linux >  >> Linux

Bisakah saya mengganti umask saya menggunakan ACL untuk membuat semua file yang dibuat di dunia direktori tertentu dapat dibaca?

Solusi 1:

Ya, ACL dapat melakukan ini.

  1. Pastikan sistem file Anda terpasang dengan acl . Untuk memeriksanya, ketik mount . Anda akan melihat acl tercantum di antara izin lainnya, mis.

    /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
    

    Jika tidak dipasang dengan acl, buka /etc/fstab , dan tambahkan acl ke daftar opsi:

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>   <options>       <dump>  <pass>
    /dev/sda1       /          ext3     noatime,errors=remount-ro,acl 0       1
    

    Sekarang, pasang kembali sistem file yang sedang berjalan dengan opsi baru:

    mount -v -o remount /
    
  2. Instal utilitas acl. Di ubuntu/debian, ini adalah:

    sudo apt-get install acl
    
  3. Teman baru Anda adalah setfacl dan getfacl . Gunakan setfacl untuk mengubah acl default untuk direktori:

    setfacl -d -m o:r foo
    

    -d menyetel default, -m memodifikasi acl, dan o:r memberikan "orang lain" hak untuk membaca. Menyetel default pada direktori kira-kira sama dengan menyetel setgid pada direktori, tetapi alih-alih file yang baru dibuat mewarisi grup, mereka mewarisi acl. Bersama-sama, setgid dan acl dapat menjadi kuat, karena Anda dapat memberikan izin default ke grup, dan mendapatkan file yang baru dibuat untuk menjadi bagian dari grup tersebut, untuk umask per direktori berbasis grup yang efektif.

  4. Periksa pekerjaan Anda:ls -l sekarang harus menunjukkan "+" tambahan yang menunjukkan keberadaan acl selain izin file standar.

    % ls -la foo/
    drwxr--r--+
    

    Anda bisa mendapatkan info detail tentang acl menggunakan getfacl .

    % getfacl foo
    # file: foo
    # owner: you
    # group: you
    user::rwx
    group::r--
    other::r--
    default:user::rwx
    default:group::---
    default:other::r--
    

Solusi 2:

Anda juga bisa memaksa umask untuk direktori dengan menyetel properti mask ACL seperti ini:

setfacl -d -m mask:07 .

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

  2. Mengapa Rm Dapat Menghapus File Read-only?

  3. Bagaimana Mengembalikan Kepemilikan Grup/pengguna Default Dari Semua File Di Bawah/var?

  1. Menghitung jumlah file dalam direktori menggunakan C

  2. perintah linux untuk mengosongkan semua file direktori

  3. Menggunakan indeks untuk membuat grep lebih cepat?

  1. Bagaimana saya bisa menyalin semua file pdf secara rekursif dalam direktori (dan itu subdirektori) ke dalam satu direktori keluaran?

  2. Bisakah Anda mengubah izin untuk semua file kecuali satu direktori di Linux?

  3. Lihat semua file di direktori situs web?