Изменить права доступа к папке и владельца

Я бы хотел, чтобы у пользователя были полные права на эту папку (а также на все подкаталоги и файлы в ней):

~/.blabla

в настоящее время принадлежит root.

Я нашел множество сообщений (на этом форуме и в других местах) о том, как сделать это для файлов, но я не могу найти способ сделать это для целых папок.

9 ответов

Решение

Сделайте так, чтобы у текущего пользователя было все внутри папки (и самой папки):

sudo chown -R $USER ~/.blabla

Использование chown сменить владельца и chmod изменить права.

Как сказал Павел Карпинский, используйте опцию -R, чтобы применить права и ко всем файлам внутри каталога.

Обратите внимание, что обе эти команды работают только для каталогов. Опция -R позволяет им также изменять разрешения для всех файлов и каталогов внутри каталога.

Например

sudo chown -R username:group directory

изменит владельца (как пользователя, так и группы) всех файлов и каталогов внутри directory а также directory сам.

sudo chown username:group directory

только поменяет разрешение папки directory но оставит файлы и папки внутри каталога в покое.

Как упоминается энзотиб, вам нужно использовать sudo сменить владельца с рута на себя.

Редактировать:

Обратите внимание, что если вы используете chown <user>: <file> (Обратите внимание на оставленную группу), она будет использовать группу по умолчанию для этого пользователя.

Если вы хотите изменить только группу, вы можете использовать:

chown :<group> <file>

Если вы предпочитаете, это может быть сделано и с графическим интерфейсом. Для этого вам нужно будет открыть Nautilus от имени пользователя root. Нажмите Alt + F2, чтобы открыть диалоговое окно "Запустить приложения" и введите gksu nautilus

Затем перейдите к папке, которую вы хотите изменить, и щелкните правой кнопкой мыши. Затем выберите "Свойства" из контекстного меню. Теперь вы можете выбрать пользователя или группу, которой вы хотите стать "владельцем" папки, а также разрешения, которые вы хотели бы им предоставить. Наконец, нажмите "Применить разрешения к вложенным файлам", чтобы применить изменения рекурсивно.

Хотя кажется, что это не всегда работает для некоторых операций в глубоком дереве папок. Если это не работает, используйте соответствующую команду терминала.

альтернативный текст

Если он принадлежит root, вы можете сделать это

sudo chown <your username>:<your usergroup> -R <path to>/.blabla

Поскольку./blabla принадлежит root, вам нужно получить привилегии root, чтобы это изменить. Это то, что будет делать sudo. Опция -R для команды chown говорит: этот каталог и все в нем рекурсивно.

Тебе стоит попробовать chmod -R

Примеры

Сначала укажите разрешения для demo.txt, введите:

# ls -l demo.txt

Примеры результатов:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt

В этом примере измените владельца файла на vivek user и перечислите разрешения, запустите:

# chownvivek demo.txt
# ls -l demo.txt

Примеры результатов:

-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt

В следующем примере владелец установлен на vivek за которым следует двоеточие, и групповое подчинение также устанавливается на vivek группа, запустить:

# chownvivek:vivek demo.txt
# ls -l demo.txt

Примеры результатов:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt

Ты можешь использовать это sudo chmod -R 777 /folderpathтакие как: sudo chmod -R 777 /opt/lampp/htdocs/ это для доступа к папке xampp htdocs

Первый chmod -R может испортить ваши системные права, если вы по ошибке сделаете это с системным файлом и каталогами.

второй chmod -R может испортить флаги в этих папках, и не стоит давать разрешения на некоторые папки всем пользователям.

Вы должны попробовать и chown вместо:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

sudo chown -R -ubuntu:ubuntu ~/PathTo/Folder/dist

Перед скриншотом:

После скриншота:

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