Справочник: Права доступа

Чтение ls -la

-rwxr-xr-- 1 user group 4096 Jan 1 12:00 file.txt
│├──┤├──┤├──┤
│  U    G    O
│  user group other
│
└ тип: - файл, d директория, l ссылка

Octal таблица

ЧислоПраваБуквы
0---нет
1—xexecute
2-w-write
3-wxwrite + execute
4r—read
5r-xread + execute
6rw-read + write
7rwxвсё

Типичные комбинации

chmodБуквыНазначение
777rwxrwxrwx⚠️ Все всё могут (не использовать!)
755rwxr-xr-xДиректории, скрипты, публичные программы
750rwxr-x---Директории группы
700rwx------Приватные директории (~/.ssh/)
644rw-r—r—Обычные файлы
640rw-r-----Файлы группы
600rw-------Приватные файлы (SSH ключи, .env)
400r--------Только чтение владельцем

Что значат права

ПравоНа файлеНа директории
r (read, 4)Читать содержимоеЛистать (ls)
w (write, 2)ИзменятьСоздавать/удалять файлы
x (execute, 1)ЗапускатьВходить (cd)

Специальные биты

БитchmodlsЭффект
SUID4755-rwsr-xr-xВыполняется от имени владельца файла
SGID2755drwxr-sr-xФайл: от имени группы. Dir: наследование группы
Sticky1777drwxrwxrwtУдалять файлы может только владелец

chmod

chmod 755 file               # числовой
chmod u+x file               # user: +execute
chmod g-w file               # group: -write
chmod o= file                # other: убрать всё
chmod a+r file               # all: +read
chmod -R 755 dir/            # рекурсивно

chown

chown user file              # сменить владельца
chown user:group file        # владелец + группа
chown -R user:group dir/     # рекурсивно
chgrp group file             # только группу

Критичные файлы

Файл/ДиректорияРекомендуемые права
~/.ssh/700
~/.ssh/id_rsa600
~/.ssh/authorized_keys600
/etc/shadow600 (root:root)
/etc/passwd644
/etc/sudoers440 (редактировать только через visudo)
.env файлы600
SSL private keys600