Saya punya ftpadmin pengguna:
-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)
Grup penting yang perlu diperhatikan adalah "git"
Maka saya punya repositori git saya:
ls -al
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Jadi ftpadmin adalah anggota dari git, dan git telah memberikan semua izin kepada orang-orang dalam grup. Mengapa saya melihat ini ketika saya login sebagai ftpadmin:
-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...
Sepertinya saya harus memiliki izin ...
Perbarui Izin di / home / git adalah
drwxrw-rw- 6 git git 4096 Apr 26 09:20 git
masih terlihat bagus ...
Perbarui izin baru di / home / git adalah:
drwxrwxrw- 6 git git 4096 Apr 26 09:20 git
Izin pada / home / git / fsg adalah:
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Namun, saya masih dapat
ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
linux
permissions
Tony
sumber
sumber
/home/git
?drwxrwxr-x
jika Anda ingin itu hanya-baca untuk non-anggota grup tetapi dapat diubah oleh anggota grup; seharusnyadrwxrwx---
jika Anda hanya ingin anggota grup ada di dalamnya.Jawaban:
Ingin memberi +1 secara khusus mpez0, untuk jawabannya, "Anda memerlukan bit grup" x "di direktori untuk memungkinkan pencarian grup. Izin" rw- "memungkinkan membuka file yang diberi nama (r) atau membuat file (w), tetapi tidak mencantumkan atau mencari file (x). "
Sangat mudah untuk dilupakan, dan solusinya terkubur di tengah. Ini jelas merupakan masalah bagi pengguna Linux baru sehubungan dengan izin file / direktori untuk pengguna dan grup.
Semua yang dikatakan Avery benar berdasarkan uang, sekali lagi berharap saya bisa memberi Anda +1 juga.
Mencari contoh lain yang lebih rinci mungkin membantu pengguna Linux baru ( tidak mencari kredit apa pun, hanya memberikan contoh lain untuk kejelasan ). Pada pc saya sendiri, saya ingin membuat pengguna tambahan untuk proyek pengembangan spesifik. Sedang menguji beberapa masalah SSH, SFTP antara mesin saya dan server co-located di web. Mendapat kesalahan "Izin ditolak" yang sama setelah menyiapkan semuanya ... dan ya itu tampak benar kecuali untuk masalah pencarian berdasarkan izin untuk yang lain yang ditunjukkan mpez0.
Catatan: Untuk pengguna Linux baru, izin adalah pengguna, grup, lainnya atau rwx, rwx, rwx dan akan terlihat seperti ini
Untuk 'lain' kita diingatkan TIDAK cukup untuk menemukan / mencari direktori, sehingga pesan kesalahan.
Inilah yang saya lakukan, (menemukan pesan kesalahan pada langkah 6)
1) membuat pengguna, hoiuser (untuk melihat informasi pengguna, Anda dapat menggunakan cmd jari, "finger hoiuser" atau membaca file 'cat / etc / passwd')
2) membuat grup, hoidevs (menambahkan pengguna "hoiuser" ke grup)
Ingat Anda harus keluar dan masuk lagi untuk izin "grup" baru untuk dikaitkan dengan ID Akun.
3) chgrp hoidevs untuk direktori / home / userz / data / Sites / hoi dan menciptakan tempat untuk file
4) Membuka Jendela Terminal, pengguna userz aktif
5) su-hoiuser (beralih ke hoiuser pengguna)
6) Mencoba untuk cd / home / userz / data / Situs
7) Mengubah izin untuk Situs
Dan masalah voila diperbaiki .... di sini adalah buktinya
Bahkan pengguna Linux / Unix yang berpengalaman kami membutuhkan pengingat sekarang dan lagi.
Seperti yang ditunjukkan, tidak cukup hanya memberikan izin yang benar ke direktori di mana file berada, Anda juga perlu memastikan semua direktori yang mengarah ke direktori tersebut memiliki izin yang benar, terutama kemampuan "lain" untuk "cari" dan cari direktori dan file. Hampir tidak intuitif ketika x berarti mengeksekusi, benar.
Struktur subdirektori saya adalah: / home / userz / data / Sites / hoi / html /
Mulai dari rumah
Ini adalah struktur direktori saya SEBELUM chmod
Ini adalah struktur direktori saya SETELAH chmod
Perhatikan satu-satunya perubahan adalah izin rx untuk 'lain' untuk direktori 'Situs'. Semoga ini bisa membantu orang lain, itu penyegaran yang baik bagi saya.
sumber
Anda harus memiliki izin pada direktori yang berisi file untuk sampai ke file. Apa izin di / home / git? (ya, Zoredache, saya memberi Anda +1 untuk menunjukkan itu)
Tindak lanjut: Anda memerlukan bit eksekusi (x) yang ditetapkan untuk grup agar grup tersebut dapat memasuki direktori. Anggap saja analog kasar dengan pengaturan "Traverse Directory" windows. Tanpa itu, akses akan ditolak untuk grup. Jika Anda putus asa, Anda dapat melakukan:
Coba yang berikut ini dan poskan pesan dari masing-masing:
Masing-masing harus dapat diakses oleh
ftpadmin
. Jika salah satu dari mereka tidak , maka itu akan menghentikan Anda untuk masuk/home/git/fsg
.sumber
/home/git
dan/home/git/fsg
tetapi untuk apa hasilnya/home
?Setelah mengubah grup pengguna X melalui akses root, Anda harus keluar dan masuk lagi dengan pengguna X itu, jika tidak, grup baru tidak akan diperhitungkan
sumber
Coba masuk lagi, atau jalankan
su - ftpadmin
untuk masuk ke dalam shell saat ini. Karena grup diatur ketika Anda masuk, mungkin saja Anda menambahkan ini-dan-begitu ke grup tetapi pengaturan grup lama masih digunakan.sumber