Різниця між використанням “chmod a + x” та “chmod 755” [закрито]


80

Це може звучати безглуздо, але у мене є файл / скрипт, який потрібно запустити, і для цього я повинен змінити його, щоб стати виконуваним. Я хотів би використовувати або chmod a+xабо chmod 755. Але чи є різниця між використанням chmod a+xта chmod 755?


7
chmod - це скорочення від режиму зміни. chmod [посилання] [оператор] [режими] файл a + x означає a -> усі (власник, група та інші)
Neha Gangwar

Відповіді:


85

chmod a+x змінює режим аргументу, одночасно chmod 755 встановлюючи його. Спробуйте обидва варіанти на чомусь, що має повні дозволи або відсутні, і ви помітите різницю.


6
Один модифікує і один встановлює. Добре пояснили!
whitehat

ls -llh tempfile -> -rwerwerwe ............. tempfile chmod 755 -> -rwer-er-e .......... Але tempfile chmod a + x -> -rwerwerwe
Мохсен

Іншими словами, chmod a+xзчитує дозволи, а потім пише, тоді як chmod 755лише пише.
Sapphire_Brick

57

Так - різні

chmod a+xдодасть біти exec до файлу, але не торкається інших бітів. Наприклад, файл може все ще бути нечитабельним для othersі group.

chmod 755завжди буде робити файл із хімічною завивкою 755незалежно від початкових дозволів.

Це може мати значення, а може і не мати значення для вашого сценарію.


36

Дійсно є.

chmod a+xвідносно поточного стану і просто встановлює xпрапор. Отже, файл 640 стає 751 (або 750?), 644 - 755.

chmod 755однак встановлює маску так, як написано: rwxr-xr-xнезалежно від того, як це було раніше. Це еквівалентно chmod u=rwx,go=rx.

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