Drwxr xr x linux user права

Некоторых людей придётся оставить в старом году

Права доступа к файлам в Linux или почему rwxr-xr-x=755

12.03.09 23:18 / Обновлено 23.11.11 15:48 | Версия для печати Linux

Пользователи и группы

Linux — многопользовательская система. Человек может отличать пользователей реальных (учётные записи людей, которые работают за компьютером) и системных (от имени которых запускаются системные процессы), но для машины разницы между ними нет никакой. Каждый пользователь представлен его уникальным идентификатором (UID, user ID), которым компьютер и оперирует в работе.

Пользователи могут объединяться в группы пользователей. В одной группе может находиться сколько угодно пользователей, так же как и один пользователь может состоять в скольких угодно группах. Любой пользователь обязательно состоит хотя бы в одной группе. По аналогии с пользователями, группы в cиcтеме также представлены их идентификаторами (GID, group ID).

При переименовании пользователя или группы новое имя присваивается прежнему ID, никаких других изменений не происходит и это очень удобно.

Посмотреть идентификатор пользователя можно командой id. Например:

$ id root uid=0(root) gid=0(root) groups=0(root)

Если имя не вводить, то выйдет информация про текущего пользователя. И кстати да, у root-а всегда UID=GID=0.

Файлы и права

Каждый файл в Linux принадлежит какому-либо пользователю (пользователь-владелец, владелец) и одновременно группе пользователей (группа-владелец). Пользователь-владелец не обязательно должен состоять в группе-владельце. Для каждого файла в Linux определяются отдельно права доступа для владельца, группы-владельца и для всех остальных пользователей.

Разновидностей прав доступа всего три: чтение, запись и выполнение, но их совместное использование даёт нам 2 3 =8 комбинаций (3 категории прав и 2 варианта для каждого права — установлено оно или нет, см. комбинаторику).

Рассмотрим права доступа к файлу, которые выводятся как:

Запись — rwx r-x r-x состоит из трёх блоков: это права доступа к файлу владельца , группы-владельца и всех остальных . Про первый символ минуса поговорим отдельно позже.

Буквы блока rwx определяют, соответственно, право доступа на чтение (r, read), запись (w, write) и выполнение (x, execute). Порядок букв менять нельзя. Если соответствующего права нет, то вместо буквы ставится минус (как, например, во втором и третьем блоках).

В данном примере у владельца файла полные права, а у группы и всех остальных — только чтение и выполнение, запись запрещена (удаление также относится к записи).

Буквы и цифры

Компьютер работает в двоичном коде. В двоичном коде он хранит данные на жёстком диске и в нём же производит вычисления.

Оперируя с числами в жизни мы имеем дело с десятичной системой счисления, так она называется потому, что все числа записываются десятью цифрами: от 0 до 9. В двоичной системе счисления цифр всего две: ноль и единица. К примеру, посчитаем от 0 до 7 в десятичной и двоичной системах, это поможет понять дальнейшее:

Десятичная система 0 1 2 3 4 5 6 7
Двоичная система 0 1 10 11 100 101 110 111
Двоичная система (по 3 цифры) 000 001 010 011 100 101 110 111

Каждый блок rwx — это три бита информации по правам. Первый бит — чтение, второй — запись, третий — выполнение. Если право есть, бит равен 1, если нет — 0. То есть, для нашего примера, rwx = 111 = 7 , r-x = 101 = 5 , поэтому rwxr-xr-x = 111101101 = 755 .

Читайте также:  Как удалить ftp сервер windows

Большинство сайтов даёт такое правило пересчёта: x=1, w=2, r=4, нужные права просуммировать. Например, r-x = 4+1 = 5. Это даёт метод пересчёта, но не приносит понимания. Понимать надо так: права на чтение и запись это r-x = 101 (в двоичной записи) = 100+1 (в двоичной системе) = 4+1 (в десятичной системе) = 5.

Математики нервно курят, настолько лихо я использую знак равенства.

Это всё неправильно!

Потому что права доступа к файлу задаются не 9, а 12 битами. То есть:

А всё то, о чём говорилось раньше — это укороченная запись прав.

На что уходят первые три бита?

Первый бит — SUID. Устанавливается на исполняемый файл. В этом случае файл выполнится от имени не текущего пользователя (как обычно и бывает), а от имени владельца файла. Группа для запуска — группа текущего пользователя.

Второй бит — SGID. Устанавливается на исполняемый файл. То же самое, что и для SUID, но для запуска подменяется не владелец, а группа.

Третий бит — Т-бит. Говорят, обычно устанавливается на папки. Если Т-бит установлен, то операция удаления больше не входит в операцию записи (w) и удалить файл может только его владелец.

Установка этих битов (и их комбинаций) в цифровом виде считается так же, как и установка прав. То есть, при установке Т-бита на файл с правами 755, получим права 1755.

Запись прав в буквенном виде всё-таки предназначена для человека, поэтому в ней есть нюансы. Установка SUID заменит x в блоке владельца на s и наш пример будет выглядеть как rwsr-xr-x . Установка SGID проделает то же самое с блоком группы-владельца: rwxr-sr-x . Установка Т-бита поменяет x на t в блоке остальных пользователей: rwsr-xr-t .

Забытый минус

Первый символ в этой записи — это тип файла, а его, как ни крути, мы поменять не сможем. Но знать полезно.

Источник

Права доступа к файлам в Linux

В этой статье мы поговорим об обозначении прав доступа к файлам в Unix подобных системах и на простых примерах разберем, что же обознают цифры 777, 755, 644 и т.д., а также символы drwxrwxrwx.

Права доступа могут быть представлены как в буквенном, так и цифровом виде, то есть к примеру
запись «777» является полностью идентична записи «drwxrwxrwx» или «-rwxrwxrwx».

Существует 3 вида прав доступа:

  • чтение — обозначается как r (read),
  • запись — обозначается как w (write),
  • выполнение — обозначается как x (execute).

И 3 типа пользователей, которым эти права раздаются:

  • Владелец файла или директории
  • Группа пользователей, которой принадлежит владелец
  • Все остальные

Рассмотрим символьное представление прав доступа.

к примеру «drwxrwxrwx» (полный доступ всем) можно поделить на 4 секции: d rwx rwx rwx

1 секция можеть быть либо «d»- директория, либо «-» — файл.

2 секция показывает права доступа владельца файла или директории.

r-чтение, w-запись, x- выполнение.

3 секция показывает права доступа группы в которой находится владелец, rwx — аналогично

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

Расшифруем несколько примеров для закрепления:

Допустим мы имеем директорию test, ниже представлен ее вывод

gt# ls -la
total 6
drwxr-xr-x 3 igor users 512 May 16 11:06 .
drwxr-xr-x 5 igor users 512 May 16 11:05 ..
-rwxr-xr-x 1 igor users 0 May 16 11:06 script.pl
drwxr—— 2 igor users 512 May 16 11:06 test2
-rwxrw-r— 1 igor users 0 May 16 11:06 text.txt

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

script.pl имеет права при которых владелец может все (rwx), а все остальные, в том числе пользователи группы владельца только чтение и выполнение (r-x).

Читайте также:  Оптимизация windows 10 ltsc

test2 видим, что это директория, владелец может все (rwx), группа владельца только чтение (r- -), у все остальных никаких прав доступа нет (- — -).

text.txt владелец может все (rwx), группа владельца может читать и изменять файл (rw-), все остальные пользователи только читать (r- -).

Теперь рассмотрим цифровое значение прав доступа.

3 цифры прав доступа это 3 секции:владелец, группа владельца, все остальные.

У каждого типа доступа есть свое значение:

  • r (чтение) — 4
  • w (запись) — 2
  • x (выполнение) — 1

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

7 (4+2+1) — чтение, запись, выполнение;

6(4+2) — чтение, запись;

5(4+1) — чтение, выполнение;

4 — только чтение;

1 — только выполнение.

Если взять нашу директорию test, то права доступа будут выглядеть следующим образом:

script.pl 755 или -rwxr-xr-x

text.txt 764 или -rwxrw-r—

test2 740 или drwxr——

Чтобы изменить права доступа в Linux необходимо воспользоваться командой chmod

Источник

Права доступа к файлам и директориям в UNIX

категория
Администрирование
дата 16.07.2009
автор clumsy
голосов 6

[Disclaimer: Данная статья была переведена в рамках «Конкурса на лучший перевод статьи» на сервисе Quizful. Ссылка на оригинал находится внизу страницы.]

Одной из сложных задач для начинающего веб-разработчика является правильное использование chmod для установки прав доступа к файлам на UNIX и Linux веб-серверах. Вы должны установить правильные права на CGI скрипты, чтобы не появлялись эти ужасные сообщения «500 Server Error». В этом руководстве, мы собираемся объяснить концепцию прав, и показать вам как устанавливать права используя FTP утилиты или при помощи Telnet.

Что такое права?

На веб-сервере UNIX, каждый отдельный файл и папка, хранящиеся на жестком диске имеет ряд прав, связанных с ним, в котором говорится, кто и что может делать с файлом. У каждого файла (и папки) также есть «владелец» и «группа» связанная с ним. Если вы создали файл, то как правило владельцем файла являетесь вы и ваша группа, или группе связанной с директорией в которой вы создали файл.

Кто может изменять права?

Есть три типа пользователей которые имеют доступ к файлам — Владелец файла, члены Группы, владеющей файлом и Остальные (все прочие). В UNIX эти 3 типа пользователей обозначаются буквами U (для Владельца, или Юзер), G (для Группы), и O (для Остальных).

Какие права можно устанавливать?

Есть три основных прав доступа котороые могут быть применены к файлам и директориям:

  1. Вы можете читать содержимое файлов. Для каталогов — просматривать перечень имен файлов в каталоге.
  2. Вы можете писать (или изменять) файл. Для каталогов — создание и удаление файлов из директории.
  3. Вы можете исполнять (запускать) файлы, если это бинарные программы или скрпты. Для каталогов — иметь доступ к файлам в директории.

Что означают все эти буквы и цифры?!

Здесь мы рассмотрим основы. Как вы можете заметить их не так уж и много на самом деле!

Путаница часто происходит, когда Вам надо сделать установку прав на сервере. Для CGI скриптов необходимо устанавливать права что-то вроде «Chmod 755» или «Убедитесь, что файл является исполняемым». Кроме того, при использовании FTP или SSH, вы увидите множество забавных букв рядом с файлами (например, rwxrw-rw). Сейчас мы объясним, что означают эти иероглифы!

Когда вы подключаетесь по FTP на ваш веб-сервер, вы вероятно увидите что-то типа этого возле каждого файла и папки:

Эта последовательность букв drwxrwxrwx означает права, установленные для этой папки (заметим, что их часто называют атрибутами FTP программы). Давайте разберем, что каждая из этих букв означает:

Как вы можете видеть, последовательность букв разделяется на 3 колонки по 3 буквы каждая, обозначающие каждый из типов пользователей (владелец, члены группы, и все остальные).

Читайте также:  Быстрая помощь windows 10 что это

Существует также и буква «d» атрибут слева, который говорит нам о том, что данный объект является директорией.

Если любая из этих букв заменена на дефис (-), то это означает, что разрешение не установлено. Например:

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

Файл, который может быть прочитан и изменён всеми, но не исполняем ни для кого.

Файл который может прочитать и изменить пользователь, а прочитать только пользователи группы и остальные пользователи.

Использование чисел вместо букв

Как мы уже раньше говорили, вас будут часто просить установить права с помощью чисел таких, как «set 755 permissions». Что означают эти цифры?

Каждое из трех чисел соответствует каждой букве (r w x) о которых мы говорили ранее. Иными словами, первое число определяет права для владельца, второе число определяет права для группы, а третье число определяет права для всех остальных.

Каждое число может принимать одно из восьми значений в диапазоне от 0 до 7. Каждое значение соответствует определенным правам на чтение, запись и выполнение «, как указано в этой таблице:

Настройка разрешений

Два самых распространённых способа установить разрешения на файлы и папки это с помощью FTP или SSH. Давайте рассмотрим первым FTP.

Установка разрешений с помощью FTP

С помощью FTP вы сможете установить права на ваши файлы, выбрав файл (в отдельном окне) и правой кнопкой мыши выбрать необходимые вм опции, такие как CHMOD или Set permissions или же выбрав в меню пункт CHMOD / Set permissions.

Как видите, довольно легко установить или убрать права на чтение, запись и выполнение для владельца, группы и других, используя флажки. Кроме того, вы можете ввести в эквиваленте 3-значный номер, если вы уже знаете как (см. предыдущий раздел). Все очень просто!

Установка разрешений с помощью SSH

Другой распространенный способ установить разрешения на файлы с помощью SSH (или консоли). Это в целом быстрее, если вы хотите изменить права на большое количество файлов одновременно (например, изменение всех. CGI файлов в папке только на вполнение).

После того, как вы подключитесь по SSH к вашему серверу, и залогинетесь в систему, перейдите в папку, содержащую файлы, которые вы хотите изменить, например:

Использование буквенного способа

Вы можете использовать буквы u (владелец / пользователь), g (группы) и o (другие), чтобы установить разрешение для каждого из типов пользователей, а также r (чтение), w (запись) и x (выполнение) для установки прав.

Вы также можете использовать «a» вместо u, g и o, что является синонимом для всех пользователей (u, g, o).

Вы можете назначить разрешения, используя либо знак плюс (+), которое означает «добавить эти права», знак минус (-), что означает «удалить эти разрешения», или знак равенства (=), что означает «изменить разрешения для конкретного случая «. Например:

chmod a+x formmail.cgi добавляет разрешение на выполнение для всех пользователей в файле formmail.cgi (другими словами, делает исполняемый файл).

chmod u=rwx formmail.cgi чтение, запсь и выполнение для владельца (разрешений для группы и для других остаются без изменений).

chmod go-w formmail.cgi удаляет запись для группы и для других, в результате чего разрешения владельца остаются неизменными.

Проверка разрешений

Вы можете проверить разрешения на все файлы и папки в текущей директории с помощью команды:

Это покажет Вам разрешение для каждого файла и папки, так же, как и FTP программы.

Если Вам понравилась статья, проголосуйте за нее

Голосов: 6 Голосовать

Источник

Оцените статью