Как найти и поменять права на папки и на файлы

Как найти и поменять права на папки и на файлы

Например Вы ошиблись и создали файл или папку с рутовыми правами, а дальнейший пользователь
не может удалить или переименовать эти файлы (папки), но можно решить следующим образом:
$ find ~ ! -user ${USER}
Автоматически исправить права можно выполнив команду:
$ find ~ ! -user ${USER} -exec sudo chown ${USER} '{}' \;
Переменная окружения USER равняется текущему пользователю, от которого выполняется команда. Например я выполню команду от captain и ищу это в домашней директории /home/captain, а все папки и файлы с другими правами будут исправлены и принадлежать captain.
права на файлы и папки

права на файлы и папки

 Назначить пользователя captain владельцем файла /home/captain/some_my_file:
# chown captain /home/captain/some_my_file

Если нужно присвоить права для captain  ко всем вложенных файлов и папок (рекурсивно):

# chown -R captain /home/some_my_directory

Присвоить captain и captain_group для для определенного файла /home/captain/some_file:

# chown captain:captain_group /home/captain/some_file

Или можно использовать следующую команду:

# chown -R `whoami`:`id -gn` /var/www/html

Выставить полный доступ ( права на rwx — чтение-запись-выполнение) для всех ( ugo — User Group Other ) для папки /home/some_dir, так же, можно использовать и chmod 777 some_dir:

# chmod ugo+rwx /home/some_dir

Розрешить использовать папку /home/captain/some_dir для группы и остальных пользователей:

# chmod go-rwx /directory

Если есть необходимость поменять группу для my_file на my_new_group:

# chgrp my_new_group /etc/my_file

Выставить STIKY бит на папку /home/captain/some_dir. Удалять файлы в этой папке может только владелец данного файла:

# chmod o+t /home/captain/some_dir

Удалить STIKY бит с папки /home/captain/some_dir:

# chmod o-t /home/captain/some_dir

Выставить SUID бит на файл /home/my_files. Это даст  возможность запускать данный файл с правами пользователя. И выполнять его может любой пользователю в системе:

# chmod u+s /etc/my_files

Удалить SUID бит с файла /home/captain/some_file:

# chmod u-s /etc/some_file

Выставить SGID бит на папку /home/captain/some_folder:

# chmod g+s /home/captain/some_folder

Удалить SGID бит с папки /home/my_folder:

# chmod g-s /etc/my_folder

Более детально о SUID, SGID, Sticky биты можно прочитать тут:

Стандартные права Unix, SUID, SGID, Sticky биты

Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы

# find / -perm -u+s

Листинг текущего каталога с правами доступа

# ls -lh
На этом «Как найти и поменять права на папки и на файлы» закончено.

One thought on “Как найти и поменять права на папки и на файлы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.