Berapa digit oktal chmod pertama dalam nilai empat digit?

40

Terkadang saya melihat chmodperintah yang menggunakan empat digit oktal bukan tiga - untuk apa digit pertama opsional? Misalnya, chmod 777setara dengan chmod a+rwx; untuk apa perintah yang sama chmod 2777?

prosseek
sumber
1
Ini adalah pertanyaan yang bagus, jadi saya mencoba menggeneralisasikannya
Michael Mrozek
3
'Digit oktal chmod keempat' agak membingungkan, digit yang dimaksud sebenarnya adalah yang pertama ketika membaca dari kiri ke kanan.
jsbillings

Jawaban:

44

Harap dicatat bahwa chmod 777 filenameitu setara dengan chmod 0777 filenamedalam contoh ini.

Digit oktal pertama mengatur bit setuid, setgid dan sticky (lihat artikel ini untuk detail lebih lanjut tentang setuid / setgid). oktal 2 berarti mengatur ID grup pada file. Jadi, yang setara adalah dengan melakukan chmod a+rwx filename, lalu chmod g+s filename. The chmod halaman Info tidak menjelaskan hal ini secara lebih rinci.

jsbillings
sumber
5
Hampir semua implementasi chmod (1) dapat menggunakan koma dalam argumen mode simbolik. Dengan demikian, setara Anda dari 2777 dapat dilakukan dalam satu perintah: chmod a+rwx,g+s filename. Atau, lebih ketat (pastikan untuk menghapus bit setuid dan lengket sebagai modus numerik akan): chmod a=rwx,g+s filename.
Chris Johnsen