Історія пояснює, чому існують восьмеричні режими , але я думаю, функціональність є причиною існування мнемонічної форми. І всі пункти щодо інших інструментів, що використовують виключно восьмеричні режими, цілком справедливі, і я вважаю, що ви повинні їх вивчити та знати. Проте я вважаю, що консервативні адміністратори не бачать справжньої корисності, що походить від мнемонічної форми.
Вісімкова форма, особливо при використанні рекурсивно, має тенденцію змушувати адміністраторів робити дурні речі. А точніше, додана недбалість призводить до того, що це виходить дурним. Кожен раз, коли ви переходите через якусь папку з великою кількістю текстових файлів і встановлених x
бітів, у вас є доказ.
Чому хтось встановив би x
шматочок так? Тому що цього важко не робити, якщо не використовувати мнемонічну форму для режимів. Подумайте, що ви хочете скинути дозволи /var/www
та не запустити CGI старого стилю, тому x
біт слід видалити. Однак x
біт виконує інше призначення в каталогах. Отже, ви в кінцевому підсумку робите щось (як root
) на зразок:
chmod -R 666 /var/www
find /var/www -type d -exec chmod 777 {} \;
Якщо ви використовували мнемонічну форму, ви можете дати їй "рецепт":
chmod -R a=rwX /var/www
що є короткою формою chmod -R ugo=rwX /var/www
(досягнення тієї ж, але різної стежки:) chmod -R a-x,a+rwX /var/www
.
Але є ще одна тривіальна річ, якої неможливо досягти за допомогою восьмеричних режимів. Ви не можете підлаштовувати user
або group
або other
маскувати окремо за допомогою восьмеричної форми.
Коротше кажучи: це як порівняння скальпеля (мнемонічного) та гострого кухонного ножа (восьмигранного) ... але ви все одно повинні знати біти восьмеричного режиму з інших причин :)
Причиною того, що восьмеричні режими все ще віддають перевагу , я думаю, не більше типізація, що бере участь у мнемонічній формі, а надмірно консервативні адміни. І так, закликаючи 2013 рік, ці надмірно консервативні адміністратори все ще існують і знаходяться тут, щоб залишитися на деякий час.
chmod
в Perl або C потрібно використовувати восьмеричне подання, насправді не є перевагою, оскільки представлення вже існувало в першу чергу.