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

508

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

~/.blabla

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

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

user2413
источник
3
Интересно, кто-нибудь может добавить графический метод?
8128
2
@fluteflute есть ли графический метод?
Марко Чеппи
2
gksu nautilusвозможно. Я не совсем уверен и хотел бы знать ....;)
8128
просто sudo chown -R имя пользователя foldername
ArifMustafa

Ответы:

222

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

sudo chown -R $USER ~/.blabla
Люциан Адриан Гриджинку
источник
35
очень полезно для новичков (таких как я), когда не знаете, что набирать в 'usergroup' дляsudo chown <your username>:<your usergroup> -R <path to>/.blabla
квант
706

Используйте 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>
Ikke
источник
7
Надо сказать, что «чо» требуется для чоун.
энзотиб
1
fatanstic. Возможно, стоит подумать о замене «user: user» именем пользователя.
user2413 13.10.10
5
Предопределенные переменные помогли мне: sudo chown -R $USER:$USER /path/to/dir. Спасибо!
Самуэль Эль
7
ОСТЕРЕГАЙТЕСЬ о рекурсивном вступлении во владение ЛЮБЫМ каталогом. Думай, прежде чем прыгать. Не chownкопируй из интернета, дети. Просто потому, что вы хотите установить пакет узла, и он не позволит вам этого сделать, и не sudo chown -Rтолько потому, что ударил кулаком от поиска в сообщении об ошибке. Безрассудный sudo chown -R-ing может убить вашу ОС.
Бенджамин R
1
Надо сказать, что использование этой -Rопции относится только к файлам и папкам, которые уже существуют в каталоге. Это НЕ относится к будущим творениям. Например, если вы создадите другую папку или файл в качестве пользователя root в папке, для которой вы уже изменили разрешения, у вас будет такой же опыт, что и сейчас, пока вы не выполните chmod \ chown снова.
Jaberwocky
55

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

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

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

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

andrewsomething
источник
27

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

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

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

AndyB
источник
10

Ты должен попытаться chmod -R

Pawełkowy
источник
1

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

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

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

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}
Эдуард Флоринеску
источник