Saya ingin membuat file di direktori yang dimiliki oleh grup staf tempat saya menjadi anggotanya. Mengapa saya tidak bisa melakukan ini?
bmccann@bmccann-htpc:~$ ls -l /usr/local/lib/R/
total 4
drwxrwsr-x 2 root staff 4096 2010-07-31 16:21 site-library
bmccann@bmccann-htpc:~$ id -nG bmccann
bmccann adm dialout cdrom plugdev staff lpadmin admin sambashare
bmccann@bmccann-htpc:~$ touch /usr/local/lib/R/site-library/tmp
touch: cannot touch `/usr/local/lib/R/site-library/tmp': Permission denied
linux
permissions
file-permissions
Ben McCann
sumber
sumber
site-library/tmp
file / direktori?Jawaban:
Apakah Anda keluar dan masuk kembali setelah membuat perubahan grup? Lihat:
Jawaban Pengguna Super yang melibatkan kegagalan izin sentuh
sumber
login
,su
, dll) untuk benar-benar mengatur uid / Gids.su your-user-name
. Shell yang dihasilkan akan memiliki izin grup yang diperbarui.Mengapa pengguna Linux tidak dapat mengedit file dalam grup tempat dia menjadi bagiannya?
Saya menggunakan Ubuntu 12.04 dan memiliki masalah yang sama di mana pengguna tidak dapat menulis ke file kepada siapa dia diizinkan untuk mengakses grup. Sebagai contoh:
Mulai ulang terminal sekarang untuk memastikan pengguna dan grup telah diterapkan. Login sebagai el.
Menghasilkan Peringatan:
Apa? Saya telah melakukan segalanya dengan benar, mengapa tidak berhasil?
Menjawab:
Lakukan reboot komputer secara penuh. Menghentikan terminal tidak cukup untuk memperbaiki masalah ini.
Saya pikir apa yang terjadi adalah apache2 juga menggunakan grup www-data, jadi tugasnya entah bagaimana mencegah pengguna dan grup untuk diterapkan dengan benar. Anda tidak hanya harus keluar, tetapi Anda harus menghentikan dan memulai ulang layanan apa pun yang menggunakan grup Anda. Jika reboot tidak berhasil, Anda punya masalah yang lebih besar.
sumber
Saya memiliki masalah yang sama, periksa apakah folder tersebut memiliki aturan ACL lagi atau tidak!
Jika Anda dapat melihat + (tanda tambah) saat Anda mencantumkan folder, itu berarti folder tersebut memiliki aturan akses khusus. Sebagai contoh:
Lihat izin:
Jadi itu berarti pengguna saya (user_in_apache_group) tidak memiliki izin menulis untuk folder itu.
Solusinya adalah apa yang dikatakan @techtonik, tambahkan izin tulis untuk pengguna:
Periksa izin lagi:
Semoga membantu. ;)
sumber
Gunakan Linux ACL (daftar kontrol akses) - ini adalah versi sistem izin yang lebih halus,
Ini menetapkan hak aktif untuk direktori dan hak default untuk apa pun yang dibuat di dalamnya.
Ini gagal bekerja tanpa masuk kembali jika Anda baru saja menambahkan diri Anda sendiri ke
staff
grup, tetapi Anda dapat mengatur izin hanya untuk diri Anda sendiri untuk sesi saat ini.sumber
Saya mengalami masalah ketika pengguna tidak dapat mengakses
/foo/bar/baz
direktori bahkan ketika dia memiliki izin karena dia tidak memiliki akses kebar
direktori.sumber
Periksa apakah direktori induk Anda memiliki izin sebelum Anda menambahkan konten ke file itu
sumber