Доступ пользователей к файлам условно можно разделить на
u — user — владелец
g — group — относится к группе которой выделены права на определенный файл
o — others — все пользователи, которые не подходят под первые две
Сами права делятся на
r — read — чтение
w — write — запись (изменение)
x — execute — запуск (исполнение), как правило относится к исполняемым файлам и скриптам
u g o
rwxrwxrwx
Первые три rwx для владельца, вторая для группы и третья для остальных. Мы даем право для user, group и others на чтение, изменение и запуск.
Давайте разрешим для user все, group будет иметь право только на чтение, а others никаких прав
rwxr-x---
Для просмотра прав на файл можно использовать
stat file
или
ls -l
В выводе ls -l сначала мы видим права на файл, затем после цифры владельца и группу.
Давайте изменим владельца файла file.
ll
-rw-r--r--. 1 sysadmin sysadmin 0 Jan 27 08:38 file
Выполняем
sudo chown support file
ll
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:38 file
Чтобы изменить владельца нескольких файлов, например в директории
sudo chown -R support rights/
ll rights/
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:48 rights1
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:48 rights2
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:48 rights3
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:48 rights4
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:48 rights5
Изменим владельца и группу. Можно сделать так
sudo chown support:support file
-rw-r--r--. 1 support support 0 Jan 27 08:38 file
Или вот так
sudo chgrp sysadmin file (если вы владелец файла sudo не нужен)
-rw-r--r--. 1 support sysadmin 0 Jan 27 08:38 file
Давайте дадим владельцу права на чтение и изменение файла
sudo chmod u+rw file
-rw-r--r--. 1 sysadmin sysadmin 0 Jan 27 08:38 file
Запрет группе на изменение файла (те кто внимательно читал выше обратят на кое-что внимание, но команда просто чтобы показать)
chmod g-w file
-rw-r--r--. 1 sysadmin sysadmin 0 Jan 27 08:38 file
А если всем нужно дать право на исполнение?
chmod +x file
-rwxr-xr-x. 1 sysadmin sysadmin 0 Jan 27 08:38 file
group и others запрет на чтение
chmod go-r file
-rwx--x--x. 1 sysadmin sysadmin 0 Jan 27 08:38 file
Есть еще вариант с помощью цифр.
read — r — цифра 4
write — w — цифра 2
execute — x — цифра 1
Нам будет нужна сумма этих чисел. Например rwx = 4+2+1, соответственно rwxrwxrwx равно 777.
u g o
rwxrwxrwx
7 7 7
rwxr-x---
7 5 0
chmod 750 file
-rwxr-x---. 1 sysadmin sysadmin 0 Jan 27 08:38 file
или
chmod 777 file
-rwxrwxrwx. 1 sysadmin sysadmin 0 Jan 27 08:38 file
Для директорий.
read позволяет просматривать содержимое папки, какие файлы и подпапки она содержит.
write позволяет изменять содержимое папки, создавать, переименовывать и удалять файлы и подпапки внутри папки.
execute позволяет войти в папку аналогично команде cd.