Изменить права доступа к папке и владельца
Я бы хотел, чтобы у пользователя были полные права на эту папку (а также на все подкаталоги и файлы в ней):
~/.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 говорит: этот каталог и все в нем рекурсивно.
Примеры
Сначала укажите разрешения для 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 {}