Bagaimana saya bisa berbagi direktori dengan pengguna lain?

8

Saya tidak ingin folder bersama dapat diakses oleh siapa pun di sistem, saya ingin itu dapat diakses hanya untuk sekelompok pengguna terbatas.

Bagaimana saya melakukannya?

Emanuele
sumber

Jawaban:

9

Diambil dari pos yang luar biasa ini di Forum Ubuntu oleh Morbius1.

Cara klasik Linux dalam melakukan hal semacam ini berlangsung seperti ini:

  1. Buat folder bersama:

    sudo mkdir /home/Shared
    
  2. Buat grup pengguna baru:

    sudo addgroup newgroup
    
  3. Ubah kepemilikan folder bersama ke grup baru:

    sudo chown :newgroup /home/Shared
    
  4. Tambahkan pengguna yang Anda inginkan ke grup itu:

    sudo adduser user1 newgroup
    

Ulangi untuk semua pengguna.

Sekarang Anda memiliki beberapa keputusan untuk membuat tentang apa yang Anda ingin agar para pengguna dapat lakukan:

  • [a] Semua pengguna grup dapat menambah dan menghapus dari folder dan dapat membaca dan tetapi tidak menulis satu sama lain file:

    sudo chmod 0770 /home/Shared
    
  • [b] Sama seperti di atas tetapi hanya pemilik file yang dapat menghapusnya:

    sudo chmod 1770 /home/Shared
    
  • [c] Semua pengguna grup dapat menambah dan menghapus dari folder dan dapat membaca dan menulis ke file masing-masing:

    sudo chmod 2770 /home/Shared
    
  • [d] Sama seperti [c] kecuali hanya pemilik file yang dapat menghapusnya:

    sudo chmod 3770 /home/Shared
    

A 1di posisi pertama dari perintah chmod adalah bit sticky yang mencegah penghapusan file ke siapa pun selain pemilik.

A 2di posisi pertama dari perintah chmod adalah bit setgid yang memaksa semua file baru atau disalin untuk memiliki grup folder itu.

A 3di posisi pertama perintah chmod adalah kombinasi dari bit sticky ( 1) & setgid ( +2).

Ada satu peringatan untuk semua ini sejauh menyangkut setgid. Semua file baru yang dibuat dan semua file yang disalin ke folder itu akan mewarisi grup folder tersebut. Tetapi tidak semua file dipindahkan ke folder itu. File yang dipindahkan mempertahankan kepemilikan dari mana pun mereka dipindahkan. Salah satu cara untuk mengatasi masalah ini adalah dengan menggunakan bindf.

Terakhir, jika Anda ingin orang lain di luar grup dapat melihat file tetapi tidak mengubahnya, ubah 0 akhir dalam chmodperintah menjadi 5 misalnya:

sudo chmod 0775 /home/Shared
Warren Hill
sumber