Змінення дозволів та прав власності на папки


507

Я хотів би, щоб користувач мав повні права на цю папку (а також на всі підкаталоги та файли в ній):

~/.blabla

на даний момент належить root.

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


3
Чи міг би хтось додати графічний метод, який мені цікаво?
8128

2
@ fluteflute є графічний метод?
Марко Чеппі

2
gksu nautilusможливо. Я не зовсім впевнений і хотів би знати ....;)
8128

просто sudo chown -R ім'я імені користувача
ArifMustafa

Відповіді:


221

Зробіть поточний користувач власником всього всередині папки (і самої папки):

sudo chown -R $USER ~/.blabla

35
дуже корисно для новачків (як я), коли не знаю, що набрати в « 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але залишить файли та папки всередині каталогу в спокої.

Як згадував enzotib, вам потрібно скористатися, sudoщоб змінити право власності з root на себе.

Редагувати:

Зауважте, що якщо ви використовуєте chown <user>: <file>(Зверніть увагу на ліву групу), вона використовуватиме групу за замовчуванням для цього користувача.

Якщо ви хочете змінити лише групу, ви можете використовувати:

chown :<group> <file>

7
Слід сказати, що для чууна потрібно «судо».
enzotib

1
фатастичний. Ви можете розглянути можливість заміни "user: user" на ім'я користувача.
user2413

5
Зумовлені змінні допомогли мені: sudo chown -R $USER:$USER /path/to/dir. Дякую!
Самуель Ель

7
БУДУТЬСЯ рекурсивно приймати право власності на будь-який каталог Подумайте, перш ніж стрибнути. Не chownпишіть копію з Інтернету, діти. Просто тому, що ви хочете встановити пакет вузлів, і він не дозволить вам, не sudo chown -Rтільки тому, що кулаком, який потрапив у гугл, повідомляється про повідомлення про помилку. Нерозумний sudo chown -R-ing може вбити вашу ОС.
Бенджамін Р

1
Потрібно сказати, що використання цієї -Rопції стосується лише файлів і папок, які вже є в каталозі. Це НЕ стосується майбутніх творінь. Наприклад, якщо ви створите іншу папку або файл як корінь у папці, на яку ви вже змінили дозволи, ви матимете ті самі враження, що і зараз, поки не зможете їх chmod \ chown знову.
Jaberwocky

55

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

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

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

alt текст


27

Якщо він належить root, ви можете це зробити

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

Оскільки ./blabla, що належить root, вам потрібно отримати привілеї root, щоб змінити це. Ось що робитиме судо. Параметр -R для команди chown говорить: цей каталог і все в ньому рекурсивно.



1

Спочатку ви chmod -Rможете зіпсувати свої системні дозволи, якщо ви робите це в системних файлах та каталогах помилково.

По-друге, chmod -Rможна зіпсувати прапори в цих папках, і це не дуже гарна ідея, щоб дати дозволи на деякі папки всім користувачам.

Спробуйте спробувати chown:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.