Di departemen saya, kami memiliki server file kecil dengan CentOS dan samba. Saya memiliki akses root untuk dapat melakukan beberapa perawatan dasar.
Hari ini saya membuat beberapa folder hanya-baca, jadi saya melanjutkan dan melakukan chmod -R -w some-folder/
, tetapi untuk beberapa file saya mendapat respons:
chmod: ./somefile.pdf: izin baru r-xrwxr-x, bukan r-xr-xr-x
Setelah menambahkan, -v
saya tidak mendapatkan banyak informasi:
mode `./somefile.pdf 'dipertahankan sebagai 0575 (r-xrwxr-x)
Saya mencoba yang berikut ini hanya untuk memastikan:
# touch test-file
# chmod -v -R -w .
mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x)
chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x
mode of `./test-file' changed to 0444 (r--r--r--)
Saya tidak dapat memikirkan alasan bagus mengapa root tidak dapat melakukan chmod?
Beberapa informasi:
- Sistem file tidak hanya baca (hanya beberapa file yang menolak untuk di-chmodded).
- Saya menjalankan perintah chmod sebagai root tetapi tidak berpengaruh.
- Partisi tempat file berada adalah ext4.
PEMBARUAN : Ini adalah output untuk lsattr
pada file dan berisi folder:
# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder
Tidak ada setuid yang hadir ( ls -la
):
dr-xr-xr-x 2 userxyz abc 4096 May 30 09:29 .
dr-xr-xr-x 17 userxyz abc 4096 Sep 19 2013 ..
-r-xrwxr-x 1 userxyz abc 275150 Aug 6 2013 somefile.pdf
lsattr
file-file yang sama, dan direktori di atasnya?Jawaban:
Menurut sumber, Anda memiliki mode yang diharapkan naif . Setelah membuang lebih banyak, saya pikir penyebabnya adalah
-w
pilihan, yang bukan yang Anda harapkan. Anda harus memberig-w
atauugo-w
(sesuai dengan kebutuhan Anda).Tanpa memberikan target eksplisit (a, o, g, u) beberapa hasil yang tidak terduga dapat diberikan, sesuai dengan nilai umask. Saya pikir pesan ekstra tersebut dilakukan karena perubahan yang tidak terduga.
Edit: sumber di http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301
Diambil dari cache Google, komentar dalam kode itu sudah tidak ada lagi:
sumber
ugo-w
dan tidak mengeluh lagi. Saya akan menunggu beberapa saat sebelum menerima karena rasa hormat kepada calon penjawab.