Як встановити дозволи файлу за допомогою сенсорної команди


16

Здається, щоразу, коли я створюю файл з touchправами, встановлено так: -rw-r - r-- .

Чи є якимось чином я можу налаштувати дозволи touchабо потрібно це зробити після того, як за допомогою іншої команди?

Відповіді:


27

Ви можете змінити свої, umaskщоб дозволити (для більшості реалізацій) більше привілеїв для читання / запису, але не виконуваних, оскільки, як правило, вимагаються дозволи 0666.

Якщо umaskце так 022, ви побачите touchзробити 0644файл.

Цікаво, що POSIX описує таку поведінку з точки зору creat:

  1. Якщо файл не існує:

    Функція create () викликається за допомогою таких аргументів:

    • Файл операнду використовується як аргумент шляху.

    • Значення побітового включені АБО з S_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, S_IROTH, і S_IWOTHвикористовуються в якості аргументу режиму.

і лише переслідуючи посилання на creat, а потім на open, помічаючи згадування umaskта зворотне відстеження до opencreat), щоб переконатися, що umaskце має вплинути touch.

Для того, umaskщоб впливати лише на touchкоманду, використовуйте нижню панель :

(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask

(зауважте, що у будь-якому випадку, якщо файл існував заздалегідь, touchвін не змінить свої дозволи, просто оновіть його часові позначки).


2

Ви можете маніпулювати umask. Зазвичай встановлено, 022що означає, коли користувач створює файл, він отримає дозвіл 0644, ви можете маніпулювати umaskвідповідно до своїх потреб.

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