← Все вопросы
Не пойму права доступа в Linux: что значит rwxr-xr-x?
7
Зашёл на сервер по SSH, набрал ls -l и увидел такое:
-rwxr-xr-x 1 user group 4096 Jun 18 10:00 script.sh
drwxr-x--- 2 user group 4096 Jun 18 10:01 secret
Что означают все эти буквы rwxr-xr-x? И как проверить/поменять права, чтобы, например, разрешить выполнение скрипта?
2 ответа
12
✓ Принятый ответ — помог автору
Эта строка читается по кусочкам. Возьмём -rwxr-xr-x:
- rwx r-x r-x
| | | |
тип владелец группа остальные
- Первый символ — тип:
-обычный файл,dкаталог,lссылка. - Дальше три блока по 3 символа: права для владельца, группы, остальных.
Буквы внутри блока:
r— read (чтение),w— write (запись/изменение),x— execute (выполнение; для каталога — возможность зайти внутрь).-на месте буквы означает, что права нет.
Итак, rwxr-xr-x = владелец может всё (rwx), группа и остальные — только читать и выполнять (r-x), но не менять.
Как проверить: просто ls -l имя_файла.
Как разрешить выполнение скрипта:
chmod +x script.sh # добавить право x всем
chmod u+x script.sh # только владельцу (u=user)
Есть и цифровая запись, где r=4, w=2, x=1 (складываем):
chmod 755 script.sh # rwx (7) для владельца, r-x (5) для группы и остальных
chmod 644 file.txt # rw- владельцу, r-- остальным
u = владелец, g = группа, o = остальные, a = все.
5
Полезный лайфхак, как быстро считать цифры: r=4, w=2, x=1, сложи нужные.
rwx= 4+2+1 = 7r-x= 4+0+1 = 5rw-= 4+2+0 = 6
Поэтому chmod 755 и означает rwxr-xr-x. А drwxr-x--- (твой каталог secret) — это 750: владелец всё, группа читает/заходит, остальные вообще никак.
Ваш ответ
Войдите, чтобы ответить на вопрос.