Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Чт Июл 17 2003 12:18 Заголовок сообщения: рекурсивное изменеие прав chmod'ом |
|
|
Подскажите есть ли возможность установить разные права на файлы и директории, т.е. есть каталог /mnt/samba/project, в нем куча вложеных каталогов и обычных файлов, необходимо на директории установить права 0750, а на файлы 0640. Вопрос - можно ли как то автоматизировать этот процесс, ведь chmod с параметром -R 0ххх /dir устанавливает пермишины на файлы и каталоги одинаковые.
Всем спасибо. |
|
Вернуться к началу |
|
|
butcher
Зарегистрирован: 18.04.2003 Сообщения: 467 Откуда: Киров
|
Добавлено: Чт Июл 17 2003 12:35 Заголовок сообщения: ИМХО, только скрипт тебе поможет.. например на перле (-) |
|
|
- _________________ Нет ничего невозможного... |
|
Вернуться к началу |
|
|
Agp
Зарегистрирован: 26.03.2003 Сообщения: 101
|
Добавлено: Чт Июл 17 2003 12:38 Заголовок сообщения: find'ом |
|
|
find /mnt/samba/project -type d -exec chmod 0750 {} \; find /mnt/samba/project -type f -exec chmod 0640 {} \; |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Чт Июл 17 2003 13:53 Заголовок сообщения: Другой вариант: |
|
|
chmod 0750 `find /mnt/samba/project -type d` chmod 0640 `find /mnt/samba/project -type f`
Обратные апострофы подставят stdout программы find в аргументы программе chmod. Преимущество: программа chmod запускается только один раз. Недостаток: размер командной строкИ ограничен.
PS: А если научить chmod брать список файлов из stdin - совсем было бы классно! Кстати, это несложно написать самостоятельно... |
|
Вернуться к началу |
|
|
butcher
Зарегистрирован: 18.04.2003 Сообщения: 467 Откуда: Киров
|
Добавлено: Чт Июл 17 2003 14:42 Заголовок сообщения: и оформить это скриптотом ;) |
|
|
#!/bin/sh if [ $# != 1 ]; then echo "Usage: Chmod " exit; fi find $1 -type d -exec chmod 0750 {} \; find $1 -type f -exec chmod 0640 {} \; _________________ Нет ничего невозможного... |
|
Вернуться к началу |
|
|
ryabinkin Гость
|
Добавлено: Чт Июл 17 2003 14:54 Заголовок сообщения: Re: и оформить это скриптотом ;) |
|
|
cd /mnt/samba/project find . -type d -exec chmod 0750 \{\} \; && find . -type f -exec chmod 0640 \{\} \;
2 butcher: Ne obizhaites', eto ne plagiat. Prosto pri zapuske iz comandnoi stroki "\" nuzhe i pered ";" i pered "{'}" |
|
Вернуться к началу |
|
|
Agp
Зарегистрирован: 26.03.2003 Сообщения: 101
|
Добавлено: Пт Июл 18 2003 08:05 Заголовок сообщения: Re: и оформить это скриптотом ;) |
|
|
У меня работает без обратного слеша перед {} , RH 7.3, bash. Может зависит от оболочки?. |
|
Вернуться к началу |
|
|
butcher
Зарегистрирован: 18.04.2003 Сообщения: 467 Откуда: Киров
|
Добавлено: Пт Июл 18 2003 08:13 Заголовок сообщения: я тоже проверил перед тем как писать (-) |
|
|
- _________________ Нет ничего невозможного... |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Пт Июл 18 2003 10:54 Заголовок сообщения: Спасибо за советы. Тема закрыта;)(-) |
|
|
- |
|
Вернуться к началу |
|
|
|