chmod: Apa arti parameter `+ a`?

16

Saya mengikuti tutorial dan saya disuruh menjalankannya

sudo chmod +a "SOME_PARAMS" some/dir

Saya terkejut melihat itu gagal memberitahu saya

chmod: invalid mode: `+a'

Jadi saya bertanya-tanya: Apa +amaksud mode ini? Bagaimana saya menerjemahkannya menjadi sesuatu yang dipahami Ubuntu? Dan saya juga ingin tahu mengapa itu tidak didukung secara universal.

k0pernikus
sumber

Jawaban:

24

Saya belum pernah melihat +a, hanya sesuatu seperti itu chmod a+ryang berarti "menambahkan izin baca untuk semua pengguna" (pemilik / pengguna, grup, orang lain).

Dari man 1 chmod:

Format mode simbolik adalah [ugoa ...] [[+ - =] [perms ...] ...], di mana perms adalah nol atau lebih huruf dari set rwxXst, atau satu huruf dari set ugo Beberapa mode simbolik dapat diberikan, dipisahkan dengan koma.

Kombinasi huruf ugoa mengontrol akses pengguna ke file yang akan diubah: pengguna yang memilikinya (u), pengguna lain dalam grup file (g), pengguna lain yang tidak dalam grup file (o), atau semua pengguna (a). Jika tidak ada yang diberikan, efeknya adalah seolah-olah diberikan, tetapi bit yang diatur dalam umask tidak terpengaruh.

Benar, seperti yang Anda katakan dalam komentar, itu spesifik untuk Mac OS X. Dari http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/chmod.1.html :

Opsi manipulasi ACL adalah sebagai berikut:

+ a
Mode + mem-parsing entri ACL baru dari argumen berikutnya pada commandline dan memasukkannya ke lokasi kanonik di ACL. Jika entri yang disediakan mengacu pada identitas yang sudah terdaftar, kedua entri tersebut digabungkan.

Lekensteyn
sumber
5
Ini bukan kesalahan, tetapi lebih pada pengembang
MacOS.apple.com/library/mac/#documentation/Darwin/Reference/…