Изменить владельца и права доступа на файлы и папки в Linux/BSD

Изменить владельца и права доступа на файлы и папки в Linux и *BSD системах

изменение прав доступа на файл Linux и FreeBSD

Представленная ниже информация будет полезная начинающим Linux и *BSD системным администраторам. По большому счету, в любой операционной системе, будь то Linux, Windows или FreeBSD, корректная работа приложений, сервисов и безопасность системы в целом напрямую зависит от прав доступа  на файлы и папки. Используя ниже приведённые средства, можно решить практически 90% проблем, возникающих при настройке прав доступа.

Сменить владельца для всех папок и файлов. Для этих целей в Unix используется команда chown. Она обладает рядом параметров:

  • Опции. Например, для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить команду рекурсивно, т.е. с параметром “-R”.
  • Владелец или группа владельцев (“user:group” или “user”).
  • Пути до папок / файлов, к которым нужно применить команду. Например, “/mnt/pool1/dts1/backup”.

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

sudo chown -R user:group /home/user/dir/

Изменить права доступа на файл или папку  в Linux и *BDS системах можно командой chmod. Стоит отметить, что в Unix имеются свои особенности в работе данной команды и принципа разделения прав. Так, кроме владельца файла или папки, можно настроить, какие операции может выполнять этот самый владелец и группа, а также все остальные пользователи. В Unix идёт разделение возможностей следующим способом – владелец, группа владельцев и другие. Также присутствует следующее разделение прав:

  • Право на запуск файла (для папок – проход по директории).
  • Право на изменение файла (создание и удаление файлов и папок в директории)
  • Право на чтение файла (для папок – это право на просмотр содержимого директории)

Для удобства использования и запоминания, используется следующая кодировка:

  • запуск – 1
  • изменение – 2
  • чтение – 4

Складывая данные цифровые обозначения мы получим набор прав, предоставляемый владельцу/группе/другим. Разберем данную информацию на примере:

Изменять файл имеет право только владелец, группа владельцев может читать, остальные – ничего не могут, соответственно команда будет такой:

chmod 640 /media/fileshare/file.txt

Создавать файлы в папке могут все, но видит их только владелец:

chmod 622 /media/fileshare/messages/

Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:

chmod 711 /media/share/exec

Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ “-R”.

Выполняя данные операции, стоит понимать – изменять права на файлы и директории могут только администраторы и владелец этих папок и файлов.

Изменение прав только на файлы или только на папки  – команда find.  При этом файлы обозначаются как file (f), а директории, соответственно –  d. Например:

chmod -R 775 $(find . -type d)

blank

Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор... Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!

Оцените автора
IT для специалистов и бизнеса
Добавить комментарий

  1. blank
    bugov

    Всё же тема прав доступа к файлам чуть шире. Предлагаю, добавить немного http://900913.ru/2017/05/09/prava-na-fayly-i-papki-v-linux-freebsd-i-macos/

    Ответить