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

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

Например Вы ошиблись и создали файл или папку с рутовыми правами, а дальнейший пользователь
не может удалить или переименовать эти файлы (папки), но можно решить следующим образом:
sh
1 lines

$ find ~ ! user ${USER}

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Автоматически исправить права можно выполнив команду:
sh
1 lines

$ find ~ ! user ${USER} exec sudo chown ${USER} {} ;

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Переменная окружения USER равняется текущему пользователю, от которого выполняется команда. Например я выполню команду от captain и ищу это в домашней директории /home/captain, а все папки и файлы с другими правами будут исправлены и принадлежать captain.
<img aria-describedby=»caption-attachment-5470″ loading=»lazy» class=»size-full wp-image-5470″ src=»http://linux-notes.org/wp-content/uploads/2014/01/prava-na-fajly-i-papki.jpg» alt=»права на файлы и папки» width=»530″ height=»386″ srcset=»https://linux-notes.org/wp-content/uploads/2014/01/prava-na-fajly-i-papki.jpg 530w, https://linux-notes.org/wp-content/uploads/2014/01/prava-na-fajly-i-papki-300×218.jpg 300w» sizes=»(max-width: 530px) 100vw, 530px» />

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

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

# chown captain /home/captain/some_my_file

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chown -R captain /home/some_my_directory

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chown captain:captain_group /home/captain/some_file

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod ugo+rwx /home/some_dir

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod go-rwx /directory

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chgrp my_new_group /etc/my_file

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod o+t /home/captain/some_dir

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod o-t /home/captain/some_dir

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod u+s /etc/my_files

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod u-s /etc/some_file

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod g+s /home/captain/some_folder

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# chmod g-s /etc/my_folder

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

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

sh
1 lines

# find / -perm -u+s

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines

# ls -lh

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Was this helpful?

0 / 0