Різниця між дозволами на три-чотиризначні файли?


11

Нещодавно мені було цікаво, у чому різниця між дозволами на три-чотири цифри для файлів. Я отримую числові дозволи, запустивши. stat --format "%a" $file_nameЯка різниця між 0644 та 644?



Мені було цікаво різницю між чотирма та тризначними дозволами на файли ...
NerdOfCode

Відповіді:


11

Перша цифра в чотиризначному дозволі - це сума встановленого ідентифікатора користувача (4), встановленого ідентифікатора групи (2) та липкого (1). Тризначний дозвіл так само, як і чотиризначний дозвіл з першою цифрою, встановленою на нуль. Таким чином:

  • 0644 точно такий же, як і 644.
  • 1644 - це як 644, але також встановлено липкий біт
  • 4644 - це як 644, але встановлений біт ідентифікатора користувача також встановлений.

Приклади використання дозволів четвертого розряду

Якщо виконується файл із встановленим ідентифікатором користувача, він виконується як би власником файлу, а не користувачем, який виконує виконання. Так, наприклад, /bin/mountзазвичай належить root та має дозволи 4755, де 4 означає, що навіть якщо він виконаний звичайним користувачем, він буде працювати з правами власника (root) власника.

Встановлення ідентифікатора групи в каталозі корисно для обміну файлами.

Клейкий біт використовується в таких каталогах, /tmpщоб усі користувачі могли створювати файли, але не дозволяє власникам видаляти файли інших людей. Таким чином, права дозволу /tmp, як правило, становлять 1777, де 1 означає, що встановлений клейкий біт.

Документація

Від man chmod:

Режим числення - це від однієї до чотирьох восьмеричних цифр (0-7), отриманий шляхом складання бітів зі значеннями 4, 2 та 1. Пропущені цифри вважаються провідними нулями. Перша цифра вибирає встановлений ідентифікатор користувача (4) та встановлює ідентифікатор групи (2) та обмежений атрибут видалення або липкий (1). Друга цифра вибирає дозволи для користувача, якому належить файл: read (4), write (2) та Execute (1); третій вибирає дозволи для інших користувачів групи файлів з однаковими значеннями; і четверте для інших користувачів, які не входять до групи файлів, з однаковими значеннями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.