Saya menemukan masalah aneh pada mesin unix / linux:
Saya anggota grup, sebut saja grup A dan file tertentu (yang memiliki pemilik berbeda) milik grup A juga. Izin file itu adalah
-rw-rw----
jadi saya berharap saya bisa membuka file itu, tetapi saya tidak: Saya akan mendapatkan pesan kesalahan "Izin ditolak" ketika saya mencoba melihat konten file (menggunakan cat).
Karena izin tampaknya benar, apa lagi yang menyebabkan ini? Apakah ada pembatasan izin "penggantian"? Jika demikian, bagaimana saya mencari tahu?
permissions
files
nfs
group
Lagerbaer
sumber
sumber
Jawaban:
Sudahkah Anda logout dan login kembali sejak Anda ditambahkan ke grup A?
Jika tidak, proses login Anda saat ini hanya akan memiliki keanggotaan grup yang dimilikinya pada saat login, tidak ada perubahan sejak itu. Dan setiap proses anak dari login itu akan memiliki keanggotaan grup yang sama (yaitu jika Anda masuk ke X maka setiap aplikasi termasuk emulator dan shell terminal Anda)
Anda dapat menguji ini dengan masuk lagi di konsol lain atau melalui ssh, atau sesuatu seperti
exec sudo -u $(id -u -n) -i
(untuk secara efektif membunuh dan mengganti shell saat ini dengan shell baru - semua proses latar belakang milik shell itu akan menjadi yatim)sumber
Dengan NFS, itu tergantung pada mode keamanan yang Anda gunakan, tetapi dalam yang tradisional, daftar grup milik pengguna dikirim oleh klien ke server, dan ada batasan pada jumlah grup yang dapat dikirim (itu adalah 16 terakhir kali saya periksa).
Jadi, klien mengatakan: Saya uid 1234 dan omong-omong saya anggota grup 12, 13, 14 ... Jika Anda berada di lebih dari 16 grup, daftar itu akan dipotong dan akan ada grup untuk dimana server tidak sadar Anda adalah anggota dari itu.
Mungkin itulah penjelasannya. Hanya administrator sistem mesin lokal dan / atau jarak jauh yang dapat melakukan sesuatu dengan mengubah model keamanan atau pengaturan server NFS atau dengan mengurangi jumlah grup tempat Anda menjadi anggota.
sumber
Seperti yang Anda catat dalam komentar, Anda tidak memiliki izin untuk membaca
/home/username
. Tetapi untuk membaca/home/username/path1/path2/file
, Anda perlu menjalankan izin untuk seluruh jalur.Untuk men-debug ini, jalankan
namei -l /home/username/path1/path2/file
sebagai pengguna yang membaca file.sumber
Bisa jadi ACL. Lihat
Bisa jadi karena alasan tertentu, grup tempat Anda berada tidak diatur dengan benar. Periksa dengan
Bagaimana dengan
Apa jenis sistem berkasnya?
Adaptor, SELinux, atau kontrol akses wajib apa pun yang ada di sistem?
Anda yakin file tidak mengandung teks "Izin ditolak", kan ;-)?
sumber