Misalkan pemilik / pengguna tidak memiliki izin tulis pada direktori tetapi ia memilikinya pada file di bawahnya. Bisakah file di sini diedit atau tidak? Jika ya, apakah ada situasi di mana file tidak dapat diedit?
files
permissions
directory
hathpathak
sumber
sumber
Jawaban:
Ya, file dapat diedit.
Sejauh menyangkut direktori, file tidak dapat diedit jika Anda menghapus izin eksekusi pada direktori untuk target (pemilik / grup / orang lain).
EDIT: Jika Anda ingin pemilik tidak dapat mengedit file dengan mengubah izin direktori (dengan asumsi pengguna yang sama memiliki direktori dan file), maka Anda dapat menghapus izin eksekusi pada direktori untuk pemilik. Misalnya Anda dapat membuat izin untuk pemilik sebagai
rw-
yaitu6
.sumber
Seperti jawaban lain telah menyatakan: Ya, file dapat diedit / dimodifikasi. Dan, dengan risiko rambut rontok, izinkan saya menunjukkan bahwa pertanyaannya mengatakan
dan untuk membuat komentar semi-jelas bahwa, untuk mengedit file dalam arti tradisional kata tersebut, pengguna juga harus memiliki izin baca untuk file tersebut, untuk mendapatkan konten saat ini. Tanpa izin baca, pengguna dapat menimpa data yang ada, dan / atau menambahkan (menambahkan) data di akhir, tetapi dia tidak dapat melakukan pengeditan yang bermanfaat seperti memperbaiki kesalahan ketik atau memasukkan teks.
Dan saya katakan "dimodifikasi" untuk menekankan bahwa kita sedang berbicara tentang berbagai skenario, termasuk yang saya sebutkan di atas (menimpa atau menambahkan) serta
vi
, (atau bahkan hex editor , jika ada),dan
vi
, khususnya, tidak memiliki masalah dengan pengeditan file dalam situasi ini. Saya belum menguji banyak editor lain. Saya berharap bahwa sebagian besar dari mereka (misalnya,emacs
,pico
, ...) akan baik-baik saja, juga.Tapi,
tidak akan bekerja, karena
sed -i
bekerja olehsed_command(s)
di dalamnya dalam proses,chmod
ing agar sesuai dengan mode asli dari file asli).dan operasi ini gagal ketika direktori dilindungi dari penulisan. (Saya percaya / curiga bahwa beberapa editor lain mungkin berperilaku dengan cara yang sama, tetapi saya tidak dapat menyebutkan contoh.)
Jadi,
sed -i
memerlukan akses tulis ke direktori. Dan, tentu saja, itu juga memerlukan izin baca ke file. Tetapi, ending kejutan double-twist adalah: ia tidak memerlukan akses tulis ke file . Lagi pula, Anda tidak perlu akses tulis ke file untuk menghapusnya; cukup tulis akses ke direktori.sumber
Anda tidak perlu memiliki izin menulis ke direktori, tetapi
x
bit yang dapat dieksekusi harus ditetapkan.Jadi, pertimbangkan direktori
foo
dengan filebar
. Jika izin diatur sebagaimisalnya, akses tulis tersedia untuk siapa saja selama
x
bit diberikan. Bahkanr
tidak diperlukan akses baca ke direktori.sumber