Мастерская iPloGic
+7 (926) 961-66-26

 — База знаний — Рекурсивное изменение прав доступа через ssh

Рекурсивное изменение прав доступа через ssh

В данной статье мы опишем как рекурсивно изменить права доступа к файлам и папкам через ssh.

Зачастую пользователям unix и linux систем встают перед проблемой изменения права доступа для большого количества файлов и директорий. Например при переносе сайта имеющего много изображений на новый сервер. Удобнее всего для этих целей использовать рекурсивное изменение прав пользователей через ssh.

Здесь мы не будем описывать как подключиться к ssh интерфейсу, на этот счет существует масса статей. Будем считать, что это Вы уже делать умеете.

Итак подключаемся к серверу через ssh. Лучше всего подключиться через root доступ, так как в противном случае Вы можете не получить доступ к файлам созданным другими пользователями. Если же root доступ Вам не доступен, то убедитесь, что все изменяемые файлы и директории принадлежат Вам или имеют права 777.

Далее необходимо набрать следующие команды:

chmod -R 777 /var/www/user/data/mysite/img/ - Ставим права доступа 777 для всех внутренних папок и файлов в директории img нашего сайта. Путь полный от корневой директории диска.

или

cd /var/www/user/data/mysite/ - Заходим в директорию где лежит сайт. Путь, разумеется, Ваш и полный.
chmod -R 777 ./img/  -  Ставим права доступа 777 для всех внутренних папок и файлов в директории img. Обратите внимание, что здесь полный путь заменяется точкой, что значит, что это путь от текущей директории.


Если нужно изменить права только файлам, но не трогать папки, или наоборот, можно это реализовать следующими Unix командами:

find /var/www/user/data/mysite/ -type f -exec chmod 644 {} \;  -  изменяет только файлы
find /var/www/user/data/mysite/ -type d -exec chmod 755 {} \;  -  изменяет только папки
	

04.07.2013