ќбсудим вашу задачу в Telegram - чате?

ћерион Ќетворкс

ѕри решении целого р€да задач администратору требуетс€ изменить уровень доступа, который управл€етс€ командой chmod (change mode Ц изменить режим). –азберЄм подробнее как именно происходит изменение прав и какие ещЄ команды могут пригодитьс€ ¬ам в этом процессе.


¬ведение

—труктура разрешений дл€ файлов и директорий в Linux €вл€ет собой матрицу 3 на 3 Ц есть три различных уровней доступа (read, write и execute Ц чтение, запись и выполнение), которые доступны дл€ трЄх типов пользователей Ц владельца файла, группы и others Ц Ђостальныхї.

ƒл€ нагл€дности, посмотрите на вывод команды ls -l

-rw-r--r--   1 root root       0 Mar 10 11:05 freepbx_menu.conf

¬ примере выше, пользователь - root, обладает правами чтени€ и записи, группа имеет права чтени€, также, как и others.

  • r (read) - разрешение на чтение содержимого файла, в случае директории Ц право на просмотр файлов и поддиректорий
  • w (write) - разрешение на запись в файл, дл€ директории Ц возможность создани€ файлов в директории и создание поддиректорий
  • x (execute) - разрешение на запуск файла в виде программы\скрипта, дл€ директории Ц допуск в директорию

»зменение уровн€ доступа

ƒл€ начала необходимо указать на важный момент Ц каждый уровень доступа имеет свое численное обозначение:

  • r (read) - 4
  • w (write) - 2
  • x (execute) - 1

ƒл€ получени€ комбинаций прав Ц числа нужно сложить. ƒл€ уровн€ доступа rwx число будет равным 7 (4+2+1). »спользовать можно также и буквенные обозначени€, как удобнее конкретно дл€ вас, но с численным представлением команды получаютс€ короче :) ѕри изменении уровн€ доступа у файла нужно знать следующее:

  • ѕервое число - права дл€ юзера
  • ¬торое число - права дл€ группы
  • “ретье число - права дл€ others

  примеру, дадим права на чтение дл€ пользовател€, чтение дл€ группы и нулевой уровень доступа дл€ остальных:

chmod 440 file.txt

ѕрава на чтение, запись и исполнение дл€ пользовател€, группы и остальных:

 chmod 777 file2.txt 

» соответственно, так далее, в зависимости от ваших нужд.


»спользование umask Ц настройка уровн€ доступа по умолчанию

ѕо умолчанию значение umask - 0022, которое определ€ет права доступа по дефолту дл€ нового файла или директории. ƒл€ файла разрешение по умолчанию равно 0666, дл€ директории - 0777. «начение маски вычитаетс€ из этих дефолтных значений и получаетс€ финальное значение.

” файла по умолчанию Ц 0666, то есть права rw-rw-rw-, но с учетом дефолтной маски 0022, файл будет создан со значением 0644 Ц rw-rЧr--.

¬ случае директории результирующим значением будет 0755, то есть rwx-r-x-r-x.

— помощью команды umask xxxx всегда можно изменить значение маски по умолчанию.   примеру:

umask 0077
  ак установить права доступа в Linux

 ак видно, права изменились с rw-r--r--дл€ нового файла на Цrw-------.


Ќесколько полезных примеров использовани€ chmod

Ќиже приведЄн список нескольких вариантов использовани€ команды chmod - во многих случа€х они очень сильно облегчают процесс настройки вашего сервера.

Ќа вс€кий случай помните, что пользователь имеет обозначение u, группа g и остальные - o. ≈сли же необходимо изменение прав сразу у всех вышеупом€нутых сущностей Ц используйте обозначение a.
  • chmod u+x %им€файла% - добавление права выполнени€ только дл€ пользовательского уровн€, то есть добавление права execute дл€ user;
  • chmod u+r,g+x %им€файла% - добавление прав чтени€ дл€ юзера и исполнени€ дл€ группы;
  • chmod u-rx %им€файла% - модификатор - используетс€ дл€ того, чтобы убрать какое-то разрешение, в данном случае Ц дл€ пользовател€ остаетс€ только право записи в файл;
  • chmod a+rx %им€файла или директории% -добавление права выполнение и чтени€ дл€ юзера, группы и остальных Ц то есть вообще все могут исполн€ть этот файл;
  • $ chmod --reference=%им€файла1% %им€файла2% - установка прав доступа дл€ файла1 равными правам доступа у файла2;
  • chmod -R 755 %им€директории%/ - рекурсивное изменение прав доступа дл€ всех файлов и подкаталогов в директории;
  • chmod u+X * -изменение прав доступа только дл€ подкаталогов, у файлов в главной директории уровень прав доступа останетс€ неизменным;

ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных