[ Пред. ] [ Содержание ] [ След. ]

Установить права доступа на каталоги и файлы

[ @console @user @rights @chmod @chown ]

 


1
Chown (от англ. change owner) — программа для изменения владельца и группы на файлы и директории.
Сhmod (от англ. change mode) — программа для изменения прав доступа к файлам и каталогам.


Что надо сделать:

ОБЪЯВИТЬ переменную с указанием каталога (живет на протяжении одной сессии консоли)
НАЗНАЧИТЬ юзера astenix из группы sudo (если нет, то сперва 'usermod -a -G sudo astenix') владельцем каталога из переменной
НАЗНАЧИТЬ владельцу каталога из переменной все права на чтение-изменение-выполнение каталогов и файлов
в нашем случае это уже юзер astenix из группы sudo
группа (sudo в нашем случае) может его только читать и запускать (если это видео, например), а остальные (если зайдут в ноут) не могут с этим файлом ничего делать, даже если увидят его.


Переключиться под root:


su 

Сделать временную переменную, в которую надо положить путь к каталогу/файлу:


ASSIGNED_FOLDER=/home/astenix/

Выполнить:


chown astenix:sudo -R $ASSIGNED_FOLDER && chmod -R 750 $ASSIGNED_FOLDER && echo -e "\nDone!"

exit

Объяснение


смена прав, -R рекурсивно, т.е. изменит и то, что внутри каталога astenix


циферки - это три отдельных атрибута:


7 - rwx - читать, писать, выполнять
6 - rw- - читаь, писать
5 - r-x - читать, выполнять
4 - r-- - читать
3 - -wx - писать, выполнять
2 - -w- - писать
1 - --x - выполнять
0 - --- - ничего нельзя делать


Первая цифра означает применения прав для пользователя,
Вторая - для группы
Третья - права для всех остальных


Например:
- права 750 на файл означают, что его создатель может делать с ним что угодно, группа может его только читать и запускать (если это видео, например), а остальные не могут с этим файлом ничего делать, даже если увидят его.


- права 1750 на каталог означают, что его создатель может делать с ним что угодно, группа может заходить в него, читать и запускать (если это видео, например) оттуда файлы, а остальные не могут в этот каталог даже зайти, даже если увидят его.


Для каталога действует дополнительный бит, он же 'sticky bit' (он же t-атрибут), который нужно использовать, если нужно разрешить членам группы записывать файлы в защищаемый нами каталог.


Если его не установить (указать права как 0750, или просто 750, что одно и то же), то любой пользователь, имеющий право записи в этот каталог, может удалить любой файл их этого каталога и создать новый с тем же именем и с любым содержимым.


Если же установить 'sticky bit' на каталог, это предотвращает удаление файлов в каталоге пользователями, ими не владеющими. Владелец создал там файлы 1.txt, 2.txt, 3.txt. Юзер группы создал там файлы 4.txt, 5.txt, 6.txt. Теперь и владелец каталога, и юзер группы сможет изменять файлы 4.txt, 5.txt, 6.txt, а вот файлы 1.txt, 2.txt, 3.txt юзер группы сможет читать, но не сможет изменять/удалять.


t-атрибут читается так: владелец имеет все права, группа - чтение, остальные не имееют никаких прав.


Пример


Дать полные права моему юзеру по имени astenix на каталог 'backups'


Из-под root


chown astenix:sudo -R backups/


# ждать, команда работает молча


а можно и так
sudo chown astenix:astenix -R home/astenix/


пояснение: сменить владельца и группу владельцев (с указанием группы надежнее) на пользователя 'astenix' и группу 'sudo' (предварительно убедиться в том, что пользователь 'astenix' входит в группу 'sudo') для всех файлов в каталоге 'backups'


Назначить astenix владельцем всех файлов на внешнем диске wd_green_4tb


А ПОТОМ всем файлам на диске прописать права доступа для (владельца) astenix "чтение и запись полностью".


chown astenix:sudo -R /media/astenix/wd_green_4tb/ && chmod astenix -R 777 /media/astenix/wd_green_4tb/


Назначить root владельцем всех файлов на внешнем диске wd_green_4tb


(чтобы защититься от случайного удаления файлов)


chown root:root -R /media/astenix/wd_green_4tb/