Как изменить владельца на текущего пользователя в папке, содержащей папки внутри моего домашнего каталога?
12
Используя sudo nautilusя создал несколько папок и хочу избавиться от прав root на них. Но у меня их много, и я хочу сделать это для всего каталога и содержащих его папок.
Итак, как разрешить текущему пользователю чтение / запись для всех файлов и папок в определенном каталоге, который находится внутри дома?
Чтобы восстановить нанесенный ущерб, sudo nautilusвы должны сделать себя владельцем любых каталогов (и их содержимого), принадлежащих root.
Вы можете использовать findдля этого, так как он имеет тест, чтобы найти только файлы, принадлежащие конкретному пользователю.
Это позволит найти все каталоги в вашем доме, принадлежащие пользователю root:
sudo find ~ -type d -user root
Затем вы можете повторить findкоманду и добавить действие, которое вы хотите выполнить - рекурсивно изменить владельца всех найденных каталогов и их содержимого для текущего пользователя:
-user root найти только материал, принадлежащий root
-exec выполните следующую команду на том, что было найдено
sudo chown -R рекурсивно сменить владельца
$USER текущий пользователь
: также измените группу на конкретного пользователя
Более эффективно, вы могли бы опустить, -type dчтобы найти файлы любого типа, принадлежащие root, а также опустить, -Rкак findэто сделает рекурсию для вас, действуя на все файлы
Вы должны запустить findwith sudo( sudo find ...), чтобы проверить собственные rootподкаталоги с 0700защитой и всем, что находится под ними. То же самое для ремонта.
Вальтинатор
«защищаться от того, что вероятно» или «защищаться от того, что возможно»? Твой выбор.
вальтинатор
@waltinator уверен :) спасибо за упоминание, чтобы я мог улучшить. Я просто стараюсь не использовать, sudoпока не понадобится
Zanna
10
Запуск инструментов GUI, например, nautilusкак rootсчитается, считается вредным по этой причине, среди прочего (скрытые функции, возможность молча запускать фрагменты программы, кто знает где, ...).
У вас нет проблемы с «разрешением», у вас есть проблема с «правом собственности».
Чтобы найти все файлы, принадлежащие root(действительно принадлежащие кому-либо еще), выполните:
sudo find $HOME \! -user $USER
Чтобы вернуть право собственности на вас, вы можете
sudo chown -R $(id -u):$(id -g) $HOME
но это изменит владельца всех файлов в и под $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Предоставляет возможность настроить список файлов, принадлежащих не-вам, чье право собственности будет изменено на вас.
Что вам нужно сделать, это изменить владельца папки с пользователя (и группы) root на другого пользователя (и группы), который вы хотите.
Представьте, что вы хотите работать с / home / randomFolder , и что пользователь, которому вы хотите управлять владельцем, это vitor-abella , вам нужно просто выполнить это как root:
find
withsudo
(sudo find ...
), чтобы проверить собственныеroot
подкаталоги с0700
защитой и всем, что находится под ними. То же самое для ремонта.sudo
пока не понадобитсяЗапуск инструментов GUI, например,
nautilus
какroot
считается, считается вредным по этой причине, среди прочего (скрытые функции, возможность молча запускать фрагменты программы, кто знает где, ...).У вас нет проблемы с «разрешением», у вас есть проблема с «правом собственности».
Чтобы найти все файлы, принадлежащие
root
(действительно принадлежащие кому-либо еще), выполните:Чтобы вернуть право собственности на вас, вы можете
но это изменит владельца всех файлов в и под
$HOME
Предоставляет возможность настроить список файлов, принадлежащих не-вам, чье право собственности будет изменено на вас.
источник
Что вам нужно сделать, это изменить владельца папки с пользователя (и группы) root на другого пользователя (и группы), который вы хотите.
Представьте, что вы хотите работать с / home / randomFolder , и что пользователь, которому вы хотите управлять владельцем, это vitor-abella , вам нужно просто выполнить это как root:
Это может занять некоторое время, если есть много файлов и подпапок, но после этого вы должны быть в курсе.
Приветствия.
источник
$(id -u):$(id -g)
, а не спрашиваю OP, а$HOME/randomFolder
.