Для чого складається перша восьмерична цифра chmod у чотиризначному значенні?


40

Іноді я бачу chmodкоманди, які використовують чотири восьмі цифри замість трьох - для чого потрібна перша цифра? Наприклад, chmod 777еквівалентно chmod a+rwx; для чого ж команда chmod 2777?


1
Це гарне запитання, тому я спробував його трохи узагальнити
Michael Mrozek

3
"Четверта восьмерична восьма цифра" є дещо заплутаною, цифра, про яку йде мова, насправді перша, коли читається зліва направо.
jsbillings

Відповіді:


44

Зверніть увагу, що chmod 777 filenameце еквівалент chmod 0777 filenameу цьому прикладі.

Перша восьмерична цифра встановлює встановлені, setgid та липкі біти ( детальну інформацію про setuid / setgid див. У цій статті ). octal 2 означає встановити груповий ідентифікатор у файлі. Таким чином, еквівалент повинен був би зробити chmod a+rwx filename, то chmod g+s filename. chmod Інформаційна сторінка дійсно пояснює це більш докладно.


5
Майже всі реалізації chmod (1) можуть використовувати коми в аргументах символьного режиму. Таким чином, ваш еквівалент 2777 може бути зроблено в одній команді: chmod a+rwx,g+s filename. Або, більш строго (будучи впевненим , щоб очистити УИП і липкі біти в цифровому режимі) буде: chmod a=rwx,g+s filename.
Кріс Джонсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.