GNU/Linux >> Belajar Linux >  >> Linux

Mengapa chmod +w tidak memberikan izin menulis kepada yang lain(o)

Situasi khusus Anda

Dalam situasi khusus Anda, kami dapat menebak bahwa umask Anda saat ini adalah 002 (ini adalah nilai default umum) dan ini menjelaskan keterkejutan Anda.

Dalam situasi khusus di mana umask nilainya adalah 002 (semua angka oktal).

  • +r berarti ugo+r karena 002 & 444 adalah 000 , yang memungkinkan semua bit disetel
  • +x berarti ugo+x karena 002 & 111 adalah 000 , yang memungkinkan semua bit disetel
  • tetapi +w berarti ug+w karena 002 & 222 adalah 002 , yang mencegah bit "o" disetel.

Contoh lainnya

  • Dengan umask 022 +w berarti u+w .
  • Dengan umask 007 +rwx berarti ug+rwx .
  • Dengan umask 077 +rwx berarti u+rwx .

Apa yang akan sesuai dengan harapan Anda

Saat Anda mengubah umask ke 000 , dengan mengeksekusi

umask 000

di terminal Anda, lalu

chmod +w file

akan menyetel izin ke ugo+w.

Catatan tambahan

Seperti yang disarankan oleh ilkkachu, perhatikan bahwa umask 000 tidak berarti semua orang dapat membaca dan menulis semua file Anda.

Tapi umask 000 berarti setiap orang yang memiliki semacam akses ke apa saja akun pengguna di mesin 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 berisi direktori hingga root juga mengizinkannya).


Dengan:

chmod +<perms>

izin 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 umasknya, gunakan

chmod a+<perms>

yang merupakan kependekan dari

chmod ugo+<perms>

Linux
  1. Mengapa Ekspresi Reguler Bekerja Di X Tapi Tidak Di Y?

  2. Mengapa `md5sum` Tidak Memberikan Hash yang Sama Seperti Internet?

  3. Linux – Mengapa Setuid Tidak Bekerja??

  1. Linux – Mengapa Es_mx Lokal Bekerja Tapi Tidak Es?

  2. Mengapa Mv(1) Menyalin Objek Jika Izin Untuk Bergerak Ditolak?

  3. Linux – Mengapa Rsync Di Linux Tidak Mempertahankan Semua Stempel Waktu (Waktu Pembuatan)?

  1. Mengapa Pengguna Root Membutuhkan Izin Sudo?

  2. Mengapa find -exec mv {} ./target/ + tidak berfungsi?

  3. Bagaimana cara mengatur izin drwxr-xr-x ke folder lain?