Ketika saya menjalankannya chmod +w filename
tidak memberikan izin untuk menulis other
, itu hanya memberikan izin untuk menulis user
dan group
.
Setelah menjalankan perintah ini
chmod +w testfile.txt
menjalankan ls -l testfile.txt
cetakan
-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt
tetapi dalam kasus +r
dan +x
berfungsi dengan baik.
Saya tidak ingin menggunakan chmod ugo+w filename
.
linux
command-line
permissions
chmod
Ravi Sevta
sumber
sumber
ugo
, gunakana
.+w
tidak bekerja.askubuntu
jawaban Anda bahwa Anda merujuk di atas bahwa "Perilaku ini diamanatkan POSIX, dan karenanya, bukan bug". Harap diperhatikan bahwa teks Penggunaan Aplikasi POSIX tidak normatif dan karenanya tidak diamanatkan oleh POSIX.Jawaban:
Situasi spesifik Anda
Dalam situasi spesifik Anda, kami dapat menebak bahwa saat
umask
ini Anda002
(ini adalah nilai standar umum) dan ini menjelaskan kejutan Anda.Dalam situasi khusus di mana
umask
nilainya 002 (semua angka oktal).+r
berartiugo+r
karena002 & 444
merupakan000
, yang memungkinkan semua bit menjadi set+x
berartiugo+x
karena002 & 111
merupakan000
, yang memungkinkan semua bit menjadi set+w
berartiug+w
karena002 & 222
merupakan002
, yang mencegah "o" bit menjadi set.Contoh lainnya
umask 022
+w
berartiu+w
.umask 007
+rwx
berartiug+rwx
.umask 077
+rwx
berartiu+rwx
.Apa yang cocok dengan harapan Anda
Ketika Anda mengubah
umask
ke000
, dengan mengeksekusidi terminal Anda, lalu
akan mengatur izin menjadi ugo + w.
Catatan samping
Seperti yang disarankan oleh ilkkachu, perhatikan itu
umask 000
tidak berarti bahwa semua orang dapat membaca dan menulis semua file Anda.Tetapi
umask 000
berarti setiap orang yang memiliki semacam akses ke akun pengguna apa pun di komputer Anda (yang mungkin termasuk program yang menjalankan layanan server ofc) dapat membaca dan menulis semua file yang Anda buat dengan topeng itu aktif dan tidak berubah (jika rantai yang mengandung direktori hingga ke root juga memungkinkan mereka).sumber
r
bit untuk pihak-pihak di mana umask mengizinkannya. Ini dengan jelas dinyatakan dalam manual misalnya chmod GNU dan chmod FreeBSD, serta standar. Sama untuk+x
. Untuk+w
Anda benar, untuk kasus umask tertentu.0
tidak berarti bahwa semua orang dapat membaca dan menulis semua file Anda, karena banyak aplikasi membuat file yang sangat pribadi dengan mode0600
, yang berarti bahwa grup dan yang lain tidak mendapatkan akses, terlepas dari umask.umask
adalah bagian penting dari bagaimana+r
berperilaku, bukan sidenote. Selain itu, bahkan dengan asumsi umask002
,chmod +r
tidak berartichmod ugo=r
, itu berartichmod ugo+r
Dengan:
perms ditambahkan ke pengguna , grup dan lainnya tetapi dengan umask masih berlaku. Itu memastikan file tidak diberikan izin lebih dari file yang baru dibuat.
Jika Anda ingin menambahkan izin ke pengguna , grup , dan lainnya terlepas dari umask, gunakan
yang merupakan kependekan dari
sumber
Anda perlu menentukan kepada siapa Anda memberikan izin, seperti
other
, dengan menggunakanchmod o+w testfile.txt
sumber
+w
memberikan izin kepada semua (pengguna, grup dan lainnya).chmod a+w testfile.txt
. Gunakanu
untuk pengguna,g
untuk grup,o
untuk orang lain, dana
untuk semua.chmod a+w filename
,chmod +w filename
danchmod ugo+w filename
merupakan alternatif satu sama lain maka mengapa tidak hanya menggunakan+w