Заходим в целевую директорию:
cd /home/some_dir
Массово устанавливаем владельцем файлов пользователя some_user из some_group рекурсивно (флаг -R) для абсолюно всего, что лежит в текущей директории (маска *)
chown -R some_user:some_group *
О chmod написано здесь: Как рекурсивно массово установить chmod на папки и файлы?
5 comments:
Иногда лучше использовать конструкцию вида:
$ find . -type f -exec chown ИМЯ_ПОЛЬЗОВАТЕЛЯ {} \;
Чтобы присвоить нового владельца только для фалов (миную каталоги)
Не работает для скрытых файлов, имя которых начинается с точки (хотя хз, может это debian stable такой тормознутый). Сработала команда chown -R some_user:some_group .*
У меня тоже не сработала на имена с точки. Но все норм, маска .* прокатила
Нельзя использовать маску .* для скрытых файлов. Это регулярка, а не просто символы. В результате смена владельца затронет так же все каталоги на уровень выше текущего!
Имхо, лучшее решение - подняться на уровень целевого каталога и выполнить процедуру оттуда
cd /home
chown -R some_user:some_group some_dir
Минус решения в том, что основной каталог тоже сменит владельца.
Как-то куцо. Всё же тема прав в Linux более широкая. Тут и про пользователей надо рассказать и про права. Chown - малая часть. Чуть более содержательно: http://900913.ru/2017/05/09/prava-na-fayly-i-papki-v-linux-freebsd-i-macos/
Post a Comment