Mossy admin управління дозволами і атрибутами файлів в linux

У цій статті розповім як управляти дозволами на файли і папки в linux / unix. Йтиметься про командах chmod. chown і chgrp. Так само розгляну комбінацію команд find і chmod.

Синтаксис командиchown (Change OWNer - змінити власника):

chown [опції] користувач [: група] файл.

-R: Рекурсивне зміна власника каталогів і їхнього вмісту.
-v: Детальний опис дії (або відсутність дії) для кожного файлу.
-c: Детально описувати дію для кожного файлу. власник якого дійсно змінюється.

Приклади використання chown:

chown www /www/mysite.ru/html. змінює власника папки /www/mysite.ru/html на www
chown root: adm /www/mysite.ru/html/index.php. змінює власника файлу /www/mysite.ru/html/index.php на root і групу на adm
chown -Rc user: media * .mp3 karaoke /. змінює власника всіх файлів в поточному каталозі, чиї імена закінчуються на .mp3, і всіх файлів і підкаталогів в каталозі karaoke / на користувача user і групу media, повідомляючи лише про ті файли, які були порушені командою.

Синтаксис командиchgrp (CHange GRouP - змінити групу) дуже схожий на синтаксис команди chown:

chgrp [опції] група файл.

Приклади використання chgrp:

chgrp www /www/mysite.ru/html. змінює групу-власника папки /www/mysite.ru/html на www
chgrp adm /www/mysite.ru/html/*.php. змінює групу-власника всіх php файлів в папці /www/mysite.ru/html/ на adm

chmod [опції] режим файл.

-c, --changes: Детально описувати дії для кожного файлу, чиї права дійсно змінюються.
-f, --silent, --quiet: Чи не видавати повідомлення про помилку для файлів, чиї права не можуть бути змінені.
-v, --verbose: Детально описувати дію або відсутність дії для кожного файлу.
-R, --recursive: Рекурсивне зміна прав доступу для каталогів і їхнього вмісту.

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

Формат символьного режиму такий:
`[Ugoa. ] [[+ - =] [rwxXstugo. ]. ] [. ] '.

Кожен аргумент - це список символьних команд зміни прав доступу, розділених комами. Кожна така команда починається з нуля або більше букв `ugoa ', комбінація яких вказує, чиї права доступу до файлу буде змінено: користувача, що володіє файлом (u); інших користувачів в даній групі (g); інших користувачів, що не входять в дану групу (o) або ж всіх користувачів (a). Буква `a 'еквівалентна` ugo'. Якщо не задана жодна буква, то автоматично буде використовуватися буква `a ', але біти, встановлені в umask. НЕ будуть порушені.

Оператор `+ 'додає вибрані права доступу до вже наявних у кожного файлу; `- 'видаляє ці права; а `= 'привласнює тільки ці права кожному вказаного файлу.

Букви `rwxXstugo 'вибирають нові права доступу для користувача, заданого однією з букв` ugoa': читання (r); запис (w); виконання (або доступ до каталогу) (x); виконання, якщо файл є каталогом або вже має право на виконання для якогось користувача (X); setuid- або setgid-біти (s); sticky-біт (t); установка для інших таких же прав доступу, які має користувач, який володіє цим файлом (u); установка для інших таких же прав доступу, які має група файлу (g); установка для інших таких же прав доступу, які мають інші користувачі (що не входять в групу файлу) (o). (Так, `chmod g-s file 'знімає біт set-group-ID (sgid),` chmod ug + s file' встановлює біти suid і sgid, в той час як `chmod o + s file 'нічого не робить).

`Sticky-біт 'не описується в POSIX. Таке специфічне назва він отримав через первісної функції, яку він виконував: зберігав виконуваний код програми на пристрої підкачки. В даний час установка sticky-біта для каталогу, призводить до того, що тільки власник файлу і власник цього каталогу можуть видаляти цей файл з каталогу. (Зазвичай це використовується в каталогах типу / tmp, куди все мають права на запис).

Числовий режим складається з не більше чотирьох вісімкових цифр (від нуля до семи), які складаються з бітових масок 4, 2 і 1. Будь-які припущення розряди доповнюються лідируючими нулями. Перша цифра обирає установку ідентифікатора користувача (setuid) (4) або ідентифікатора групи (setgid) (2) або sticky-біта (1). Друга цифра обирає права доступу для користувача, що володіє даними файлом: читання (4), запис (2) і виконання (1); третя цифра вибирає права доступу для користувачів, що входять в дану групу, з тим же змістом, що і у другій цифри; і четвертий розряд вибирає права доступу для інших користувачів (що не входять в дану групу), знову з тим же змістом.

chmod ніколи не змінює права на символічні посилання, так як цього не вміє робити системний виклик chmod. Це не є проблемою, так як права символьних посилань ніколи не використовуються. Однак, для кожної символьного посилання, заданої в командному рядку, chmod змінює права доступу пов'язаного з нею файлу. При цьому chmod ігнорує символічні посилання, що зустрічаються під час рекурсивної обробки каталогів.

Приклади використання chmod:

chmod -R o-w / www. рекурсивно видаляє дозвіл на запис для решти у всіх файлів і підкаталогів в каталозі / www.
chmod -R g + w / www. рекурсивно додає дозвіл на запис для групи-власника у всіх файлів і підкаталогів в каталозі / www.
chmod -R og-w, o-x folder /. рекурсивно видаляє дозвіл на запис для групи і інших у всього каталогу folder /, і видаляє дозвіл на виконання для інших.
chmod -c 644 misc / file *. змінює дозволу для всіх файлів в каталозі misc /, чиї імена починаються з file на rw-r - r-- (тобто дозвіл на читання для всіх і дозвіл на запис тільки для власника), і повідомляє тільки про тих файлах, які підпали під дію команди.

Так само chmod можна використовувати разом з командою find для поділу папок і файлів:
Формат такого використання наступний:

find

-type -exec chmod 777 <> \;

Установка прав тільки для всіх файлів в каталозі / www / html:
find / www / html -type f -exec chmod 640 <> \;

Установка прав тільки для всіх піддиректорій в Директорії / www / html: find / www / html -type d -exec chmod 750 <> \;

Нотатки на полях

Завершити роботу redmine (freebsd):
kill -n 9 `ps -o pid, command -p $ (pgrep ruby) | grep script / server | awk '' `
Записати CD:
mkisofs -JrvV LABEL -o /tmp/cd.iso

Статистика

Популярні повідомлення

Іноді буває необхідно завершити сеанс будь-якого користувача. Причини на те бувають різні і ми їх розглядати не будемо. Першим ділом.

Так як статті про LVM поки на цьому сайті не було, то почну з короткого огляду. LVM - Менеджер логічних томів (англ. Logical Volume Manager.

У цій статті розповім як управляти дозволами на файли і папки в linux / unix. Йтиметься про командах chmod. chown і chgrp. Так само расс.

Якщо виникла ситуація, коли після установки чистої системи під час завантаження з'являється повідомлення "My unqualified host name celeron.

Передісторія Останнім часом працюю свою роботу в оффтопіковой ОС windows 7 по необхідності. І знадобилося злити бикап з web сервера п.

Схожі статті