Saya memiliki folder pribadi / a / b di server dengan izin 700. Saya tidak ingin orang lain mencantumkan konten di / a / b. Pemilik / a adalah root.
Sekarang saya perlu membuka otoritas penuh direktori / a / b / c untuk semua pengguna.
Saya mengubah izin / a / b / c menjadi 777 tetapi masih tidak dapat diakses oleh orang lain.
chmod +x /a/b
Jawaban:
Kamu bisa. Anda hanya perlu mengatur bit yang dapat dieksekusi pada
/a/b
direktori. Itu akan mencegah Anda untuk dapat melihat apa pun di dalamnyab
, tetapi Anda masih dapat melakukan segalanya jika Anda langsung melakukannyaa/b/c
.Berhati-hatilah karena walaupun orang lain tidak dapat mencantumkan konten
/a/b
, mereka dapat mengakses file di direktori tersebut jika mereka menebak nama file tersebut.Jadi pastikan untuk mempertahankan izin yang tepat (tidak ada grup / dunia) pada semua file / direktori lain dalam
b
direktori, karena ini akan menghindari peringatan ini.sumber
b
tautan untukc
a/b
memiliki grup nol / izin lainnya, dan musuh tahu atau dapat menebak namanya, kata musuh dapat berinteraksi dengan file-file itu.b
harus memiliki izin yang ditetapkan untuk melindungi terhadap ini sebelum membuatc
, dan kemudian ketekunan diperlukan ketika barang-barang lainnya dimasukkanb
ke dalam untuk memastikan izin aman untuk hanya pemilik.Dengan izin itu, Anda tidak dapat mencapai tujuan Anda. Untuk sampai ke direktori
c
, Anda harus mengizinkan semua pengguna lain untuk melintasi direktorib
yang dilakukan dengan memberikan izin eksekusi untuk direktori itu. Dengan/a/b
set ke mode 711, Anda dapat mencapai apa yang Anda inginkan karena Anda memberikan direktori traversal tetapi menolak membaca dan menulis. Tetapi perlu diingat bahwa sementara pengguna lain tidak dapat mendaftar file/a/b
, mereka mungkin mengakses file jika mereka menebak nama dan file memiliki izin yang cukup terbuka.sumber
Jika pengguna tidak dapat mengakses
/a/b
, maka mereka tidak dapat mengakses file apa pun di bawah/a/b/c
. Izin pada/a/b/c
tidak relevan karena direktori traversal berhenti di/a/b
.Jika semua yang Anda inginkan adalah untuk mencegah direktori
/a/b
tidak terdaftar, tetapi Anda baik-baik saja dengan pengguna mengakses file/a/b
jika mereka menebak nama file, maka Anda dapat membuat/a/b
executable tetapi tidak dapat dibaca. Pada direktori, izin baca hanya mengontrol daftar isi direktori, sedangkan izin eksekusi mengontrol akses ke entri direktori itu.Jika Anda tidak ingin pengguna lain dapat mengakses file
/a/b
kecuali/a/b/c
, Anda dapat mengekspos/a/b/c
melalui tampilan lain, melalui bind mount .sumber