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

356

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

~/.blabla

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

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

    
задан user2413 13.10.2010 в 11:31
источник

6 ответов

558

Используйте chown для изменения прав собственности и chmod для изменения прав.

Как сказал Paweł Karpiński, используйте параметр -R, чтобы применить права на все файлы внутри каталога.

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

Например

sudo chown -R username:group directory

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

sudo chown username:group directory

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

Как упоминалось в enzotib, вам нужно использовать sudo , чтобы изменить право собственности от root к себе.

Edit:

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

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

chown :<group> <file>
    
ответ дан Ikke 13.10.2010 в 11:42
источник
72

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

sudo chown -R $USER ~/.blabla
    
ответ дан Lucian Adrian Grijincu 13.10.2010 в 12:07
54

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

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

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

    
ответ дан andrewsomething 14.10.2010 в 00:04
26

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

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

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

    
ответ дан AndyB 13.10.2010 в 13:14
10

вам следует попробовать chmod -R

    
ответ дан Paweł Karpiński 13.10.2010 в 11:33
0

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

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

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

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}
    
ответ дан Eduard Florinescu 25.01.2018 в 14:29