Дедик :: Общие сведения | Будь защищен | Сделай сам! | Свой хостинг | Support: Черный список
Панели управления :: WHM/cPanel | Plesk | DirectAdmin | VHCS
Датацентры :: Черный список
О проекте Дедик.ру
Обсуждение статей
Панели управления :: WHM/cPanel | Plesk | DirectAdmin | VHCS
Датацентры :: Черный список
О проекте Дедик.ру
Обсуждение статей
Восстановление прав
Дорогой Администратор я привык пользоваться программой Putty и все вышеописанное не работает в моем случае ...
server# cd /home
server# for i in `ls`; do chown -R $i $i; done
for: Command not found.
i: Undefined variable.
server#
Как быть ?
Необходимо испо
Необходимо использовать bash.
Текущая оболочка не понимает "for". Для установки bash под FreeBSD необходимо выполнить:
pkg_add -r bash; rehash
А для запуска bash:
bash
В Linux по умолчанию в качестве оболочки используется bash.
в данном случае
в данном случае надо использовать /bin/sh который существует в любой UNIX/GNU Linux системе и предусмотрен стандартом POSIX.
данный скрипт можно реализовать в следующем виде:
#!/bin/sh
# cd /home - это директива нужна только в том случае, если скрипт находится не в /home
for i in * # перебирает последовательно все каталоги и файлы в директории
do
chown -R $i $i
done
Конечно, можно использовать ls, но имхо это не слишком красиво в данной ситуации =))
Чуток не так
Правильнее будет использовать не:
for i in `ls`; do chown -R $i $i; done
а все таки
for i in `ls`; do chown -R $i:$i $i; done
Т.к. группа тоже должна быть верной...
Именно так. Ибо
Именно так. Ибо группа на public_html может быть www(nobody).