Права доступа на папку

Как установить права доступа на запись в папку и на все подпапки и файлы:

chmod -R 755 /home/vasya

смена прав, -R рекурсивно, т.е. изменит и то, что внутри каталога vasya
циферки - это три отдельных атрибута:

7 - rwx - читать, писать, выполнять
6 - rw- - читаь, писать
5 - r-x - читать, выполнять
4 - r-- - читать
3 - -wx - писать, выполнять
2 - -w- - писать
1 - --x - выполнять
0 - --- - ничего нельзя делать

Первая цифра означает применения прав для пользователя,
Вторая - для группы
Третья - права для всех остальных

Для смены владельца файлов/каталогов используем chown:

chown -R vasya:users /home/vasya

поменяет владельца и группу каталога vasya и содержимое онного!


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

[user]$ chmod wXp имя-файла

где вместо символа w подставляется

  • либо символ u (т. е. пользователь, который является владельцем);
  • либо g (группа);
  • либо o (все пользователи, не входящие в группу, которой принадлежит данный файл);
  • либо a (все пользователи системы, т. е. и владелец, и группа, и все остальные).

Вместо X ставится:

  • либо + (предоставляем право);
  • либо – (лишаем соответствующего права);
  • либо = (установить указанные права вместо имеющихся),

Вместо p — символ, обозначающий соответствующее право:

  • r (чтение);
  • w (запись);
  • x (выполнение).

Вот несколько примеров использования команды chmod:

[user]$ chmod a+x file_name

предоставляет всем пользователям системы право на выполнение данного файла.

[user]$ chmod go-rw file_name

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

[user]$ chmod ugo+rwx file_name


дает всем права на чтение, запись и выполнение.

Если опустить указание на то, кому предоставляется данное право, то подразумевается, что речь идет вообще обо всех пользователях, т. е. вместо 

[user]$ chmod a+x file_name

можно записать просто

[user]$ chmod +x file_name

Второй вариант задания команды chmod (он используется чаще) основан на цифровом представлении прав. Для этого мы кодируем символ r цифрой 4, символ w — цифрой 2, а символ x — цифрой 1. Для того, чтобы предоставить пользователям какой-то набор прав, надо сложить соответствующие цифры. Получив, таким образом, нужные цифровые значения для владельца файла, для группы файла и для всех остальных пользователей, задаем эти три цифры в качестве аргумента команды chmod (ставим эти цифры после имени команды перед вторым аргументом, который задает имя файла). Например, если надо дать все права владельцу (4+2+1=7), право на чтение и запись — группе (4+2=6), и не давать никаких прав остальным, то следует дать такую команду:

[user]$ chmod 760 file_name

Комментарии

Популярные сообщения из этого блога

Права на папки и файлы (unix/chmod)

Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian

Подключение USB флешки к Debian