Как я изменяю владельца на текущего пользователя на папке и содержащий папки в моем корневом каталоге?

Используя sudo nautilus Я создал некоторые папки, и я хочу избавиться от корневого разрешения на них. Но у меня есть многие, и я хочу сделать это ко всему каталогу и его содержанию папок.

Таким образом, как позволить чтение-запись текущему пользователю во все файлы и папки в определенном каталоге, который является внутренним домой?

9
задан 27 June 2017 в 12:24

3 ответа

Чтобы возместить ущерб, нанесенный с помощью sudo nautilus, вы должны сделать себя владельцем любых каталогов (и их содержимого), принадлежащих root.

Вы можете использовать find для этого, так как он имеет тест для поиска только файлов, принадлежащих определенному пользователю.

Это позволит найти все каталоги в вашем доме, принадлежащие пользователю root:

sudo find ~ -type d -user root

Затем вы можете повторить команду find и добавить действие, которое вы хотите выполнить - рекурсивно изменить владельца всех найденных каталоги и их содержимое для текущего пользователя:

sudo find ~ -type d -user root -exec sudo chown -R $USER: {} +

Объяснение:

  • ~ домашний каталог
  • -type d найти только каталоги
  • -user root найти только вещи, принадлежащие корню
  • -exec выполнить следующую команду для того, что было найдено
  • sudo chown -R рекурсивно сменить владельца
  • $USER текущий пользователь
  • : также меняет группу на конкретного пользователя

Более эффективно, вы можете опустить -type d, чтобы найти файлы любого типа, принадлежащие root, а также опустите -R, поскольку find выполнит для вас рекурсию, воздействуя на все файлы

sudo find ~ -user root -exec sudo chown $USER: {} +
11
ответ дан 23 November 2019 в 04:47

Выполнение инструментов 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

Дает одному возможность скорректировать список файлов, принадлежавших не - Вы, которым возвратят их владение Вам.

8
ответ дан 23 November 2019 в 04:47

То, что необходимо сделать, изменить владение папки от пользователя (и группа) корень другому пользователю (и группа), Вы хотите.

Предполагают, что Вы хотите работать над /home/randomFolder, и что пользователь, к которому Вы хотите обработать владение, vitor-abella, что необходимо сделать, просто выполняют это как корень:

chown -R vitor-abella:vitor-abella /home/randomFolder

Это может требовать времени, если существует много файлов и подпапок, но после этого необходимо быть на правильном пути.

Аплодисменты.

4
ответ дан 23 November 2019 в 04:47

Другие вопросы по тегам:

Похожие вопросы: