8 (8452) 32-00-84

Права доступа к файлам и папкам в Linux

В ОС Linux бывает необходимо выставить права доступа к файлам и папкам. На это действие в ней есть масса возможностей.

Изменить владельца

sudo chown -R user:group /dir/site.ru

Добавить существующего пользователя в группу

sudo usermod -aG gruppa user

gruppa — группа,

user — пользователь.

Выставить права доступа рекурсивно:

к директориям

sudo find /dir/site.ru -type d -exec chmod 755 {} \;

или так

sudo chmod -R 755 $(find. -type d)

к файлам

sudo find /dir/site.ru -type f -exec chmod 644 {} \;

или так

sudo chmod -R 644 $(find. -type f)

на все

sudo chmod -R 755 /dir/site.ru

Главная суть

Давайте теперь погрузимся в теорию и документацию.

UID и GID

У каждого юзера в системе есть свои:

Их можно узнать задав команду id в командной строке.

Права доступа

Файлы и папки имеют двух владельцев.

Для каждого файла и директории есть 3 группы индивидуальных прав доступа.

  1. Владелец
  2. Группа владельца
  3. Все остальные

Для каждой из вышеперечисленных групп устанавливаются 3 вида доступа:

Для того, чтобы посмотреть права в консоли, введите:

ls -l /dir/site.ru

Права могут быть изменены:

sudo chmod (u | g | o | a) (+ | — | =) (r | w | x) dir-or-file

dir-or-file — имя файла или папки.

Откуда тогда взялись цифры?

Схематично это выглядит так:

Пример права

Для файла 644 = (4+2)44 = rw- r— r— владелец чтение и запись, группа и все остальные только чтение.

Для директории 755 = (4+2+1)(4+1)(4+1) = rwx- r-x r-x владелец чтение, запись выполнение, группа и все остальные чтение и выполнение.

Некоторые особенности для папок