Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Как видно из примера, каталог имеет для владельца (atrium) права на чтение, запись и выполнение, для группы (wheel) права на чтение и выполнение, для всех остальных пользователей права доступа отсутствуют.
 
Для того чтобы понимать все тонкости прав доступа важно уяснить порядок их проверки:
1.Первоначально проверяется не является ли пользователь владельцем файла и если он таковым является, определяются его права и дальше проверка прав доступа не идёт, т.е если даже пользователь состоит в группе у которой права намного ниже чем у владельца, права группы даже не будут проверяться. Если пользователь является владельцем ресурса и для него не определены какие-либо права, то доступ запрещается.
Пример:
Пользователь atrium является владельцем определённого файла и состоит в группе wheel. Права доступа на файл определены как rwx-r-x----, т.е владелец файла может записывать, исполнять, читать файл, а группа только читать и исполнять. Далее попробуем произвести запись в файл:
|
Как видим запись в файл произошла успешно.
2.Если пользователь не является владельцем файла, то проверятся, не состоит ли он в группе, которая имеет права доступа к ресурсу, если это так, то система определяет права доступа пользователю соответствующие правам группы. Если пользователь состоит в группе и для группы отсутствуют права, то доступ запрещается.
3.Далее, если пользователь не является владельцем файла и не состоит в группе, которая имеет доступ к файлу, то ему назначаются права определённые для других.
4.Особо проверяются права доступа для пользователя root. Если система видит, что пользователь имеет UID = 0, что соответствует root, независимо от login_name, то система вообще не проверяет права доступа к ресурсу, так как пользователь root имеет неограниченный доступ к системе.
Виды представления прав доступа:
Права доступа можно представить как в цифровом виде, так и в символьном.
1. Цифровой вариант
Так как права доступа назначаются трём категориям, и имеется три вида прав доступа, в результате всего назначается девять флагов:
(111 – 111 -111) – соответствует правам доступа 777.
Представление прав доступа основано на двоичной системе. Т.е каждой категории можно назначит три флага – чтение (r), запись (w), выполнение (x), что соответствует (111). 1 означает присутствие того или иного флага, 0 – соответственно отсутствие того или иного флага.
  Для перевода двоичной системы в десятичную используется следующая таблица соответствия, читается она справа налево:
128 64 32 16 8 4 2 1
Как же нам перевести наши права доступа в десятичную систему? Давайте потренируемся.
Назначим файлу с именем test.txt следующие права доступа:
|
Теперь переведём полученные цифры:
u(user) – 111 – смотрим нашу таблицу соответствия справа налево, данной последовательности соответствуют цифры – 124, далее полученные цифры суммируем и получаем – 1+2+4 = 7
g(group) – 101 – проделываем то же самое – 1+4 = 5
o(other) – 100 – проделываем то же самое – 4 = 4
В результате наши права доступа на файл выглядят следующим образом – 754 и их можно назначить с помощью команды chmod(1).
Для обратного перевода, цифрового значения в двоичное, необходимо разделить на 2, остаток при делении соответствует единице, если деление без остатка – 0, записывается справа налево.
Пример:
|
Так же для облегчения запоминания составим таблицу соответствующую цифровому представлению прав доступа:
Таблица 1.4
|
Как видно из составленной таблицы для того чтобы назначить права доступа на ресурс для той или иной категории, всего лишь необходимо сложить права доступа данной категории между собой. Т.е нам, к примеру, необходимо назначить следующие права доступа на файл:
1.Для владельца - чтение, запись, выполнение
2.Для группы – чтение и запись
3.Для других – чтение
Владелец: 0400 + 0200 + 0100 = 0700
Группа: 0040 + 0020 = 0060
Другие: 0004 = 0004
В итоге мы получаем права доступа для файла – 764, данные права можно назначить с помощью команды chmod(1).
2. Символьный вариант
Символьный вариант назначения прав доступа запомнить довольно легко. При данном способе назначения прав доступа учитываются четыре категории:
a - Все (all) (ugo)
u - Владелец (owner)
g - Группа (group)
o - Другие (other)
 
Для этих трёх категорий назначаются права доступа:
r – право на чтение [см. Таблица 1.4]
s – для u (owner) – setuid бит, для g (group) – setgid бит [см. Таблица 1.5]
t – stick бит [см. Таблица 1.5]
w – право на запись [см. Таблица 1.4]
x – право на выполнение [см. Таблица 1.4]
Над правами, описание которых представлено выше возможно выполнение следующих операций:
+ - добавляет указанные права доступа для той или иной категории
- - удаляет указанные права доступа для той или иной категории
= - назначает указанные права доступа, при этом отменяя предыдущие для той или иной категории
 
  При назначении прав доступа с помощью символьного варианта, категории разделяются символом запятая (,). Для примера, файл имеет права доступа (rw- r— rw--), назначим ему следующие права доступа (rwx --x –w-):
|
или можно по-другому
|
Способов довольно много, как говорится, всё зависит от вашей фантазии, мне больше нравится в цифровом варианте.
Так же помимо стандартных прав доступа – чтение, запись, выполнение существуют специальные права доступа, их можно назначить как в символьном, так и в цифровом варианте:
Таблица 1.5
|
 
“
Важно!
Права, на каталог по своему действию отличаются от прав, установленных на файл:
1.Право записи установленное на каталог для группы, владельца или других позволяет удалить в нём любой файл в независимости от владельца и установленных на него прав доступа, поэтому с правом записи на каталог будьте весьма осторожны. Для решения данной проблемы можно использовать специальный флаг – Stick бит (1000), приведённый в таблице 1.5.
2.Право выполнения установленное на каталог позволяет применение для него команды ls(1) с ключом ‘–l', команды cd(1) так как происходит обращение к метаданным файлов.
3.Право чтения для каталога позволяет получить список файлов без подробной информации о них.
4.Права чтения и выполнения для каталога действуют независимо друг от друга, т.е наличие обоих прав доступа необязательно. Комбинацией данных прав доступа можно получить довольно интересные результаты:
При установленном праве выполнения на каталог, без права чтения позволяет создать так называемый тёмный
” каталог. Что это такое? В данном каталоге отсутствует возможность получить листинг находящихся в нём файлов, но имеется возможность обращаться к файлам, если их имена заранее известны. К примеру, создадим тёмный каталог и попытаемся получить листинг файлов в нём и прочитать один из файлов с заранее известным именем:
|
Установленные права доступа на тот или иной ресурс может изменить только владелец или суперпользователь с UID = 0.
Предопределение прав доступа
Существует весьма полезная команда umask(2), она задаёт маску на вновь создаваемые файлы в системе. Данную команду Вы можете встретить не только в ОС FreeBSD, но так же и в различном ПО (Samba….). В ПО она может применяться и для каталогов, но существует различие в способе высчитывания прав доступа для каталогов и файлов, которые определяет данная команда. Формат команды весьма прост, задаются три цифры, которые затем поочерёдно вычитаются из 7, если команда определяет права для каталогов и из 6, если команда определяет права для файлов. Для примера в ОС FreeBSD вы задаёте маску 240, это позволит задать права доступа на вновь создаваемые файлы 426, т.е в символьном представлении r---w-rw-:
|
Для работы с правами доступа и изменения владельцев, групп будут полезны следующие команды:
chmod(1) – изменения прав доступа к тому или иному ресурсу.
chown(8) – изменение группы и владельца ресурса.
chgrp(1) – изменение группы ресурса.
ls(1) – чтение каталога и получение различной подробной информации.
stat(1) – получение статистической информации о файле, весьма полезная команда.
umask(2) – задаёт маску на создаваемые файлы для пользователя.
Практика:
(Для более подробной информации о командах обязательно читайте маны)
Создадим файл и установим ему для владельца права на чтение и запись, для группы чтение, а для других никаких прав:
В цифровом варианте:
|
В символьном варианте:
|
Сменим владельца или группу для файла или каталога:
|
Посмотрим информацию о файле или каталоге:
|
|
размещено: 2009-06-25,
последнее обновление: 2009-07-05,
автор: atrium
phantom, 2009-06-25 в 20:15:01
Громогласное заявление "В операционной система FreeBSD существует всего три стандартных флага..."
Это совершенно некорректное заблуждение въелось в головы многих так, что и не выбить его.
Если коротко, то так было лет 10 назад, но не сейчас...
В качестве подсказки хочу порекомендовать товарищу почитать про
POSIC ACL (POSIX 1003.1e/1003.2c)
Ну или для начала поэкспериментировать с
/bin/getfacl
/bin/setfacl
И Вы увидите, насколько все более интересно :)
ХЕР МАРЖОВЫЙ, 2009-06-25 в 22:08:04
Товарищщи!
БЛЯ каЗЛОВ РАЗВЕЛОСЬ
с гамно СТАТЕЙКАМИ
odmin, 2009-06-26 в 0:46:47
Да, про acl было бы интереснее почитать.
toptyg, 2009-06-26 в 1:45:11
ХЕР МАРЖОВЫЙ выделись сильно из общей массы - напиши что-то стоящее!
Анонимус, 2009-06-26 в 2:07:21
А в каких случаях может потребоваться перевести флаги в десятичную систему? Ни разу не встречал.
Кстати, chgrp group может быть заменена на chown :group
Анонимус, 2009-06-26 в 2:12:18
поправь секции в ссылках: ссылка на umask(2) ведет на builtin(1)
[url]http://man.freebsd.org/umask[/url]
замени на
[url]http://man.freebsd.org/umask/2[/url]
atrium, 2009-06-26 в 9:07:15
Родные, про ACL будет в следующий раз, не всё сразу. Я знаю что Вы больно умные никто не спорит :)
chgrp, group это и так понятно что chown owner:group можно сделать, вы заголовок читайте, прежде чем писать что либо
ХЕР МАРЖОВЫЙ - твой логин говорит сам за себя
ссылки исправлю, спасибо :)
atrium, 2009-06-26 в 9:13:34
И ещё, скажите как мне пожалуйста, что ACL добавляет какие-то новые флаги?
Громогласное заявление "В операционной система FreeBSD существует всего три стандартных флага..."
Ты хоть понимаешь что говоришь?
ACL расширяет возможности установки прав доступа на ресурс, но никак не добавляет новые флаги в систему :)
Анонимус, 2009-06-26 в 9:59:28
Интересная статья.
А хер моржовый пусть лучше почитает книжки, которые ему задали на лето.
vvn, 2009-06-26 в 10:10:43
Хорошая статья для начинающих. А то тут все очень уж умные - забыли как сами начинали знакомство с UNIX? Автору респект. :)
StasikOS, 2009-06-26 в 10:15:02
Не думаю, что не прочитавший это в манах будет читать это тут и чему-то научится. Смысл писать? )
m0ps, 2009-06-26 в 10:20:14
StasikOS
Смысл писать?
ну напиши о чем-нибудь поинтереснее... а мы потом заценим :p
zzuz, 2009-06-26 в 10:28:33
Повторенье - мать ученья. Нормуль.
atrium, 2009-06-26 в 10:34:39
А зачем люди книги пишут, ведь есть маны? Или у нас вся страна хорошо английский знает и не всё в манах пишут!
Найдите мне порядок проверки прав доступа в мане к chmod?
StasikOS, 2009-06-26 в 11:08:56
"А зачем люди книги пишут, ведь есть маны? Или у нас вся страна хорошо английский знает и не всё в манах пишут!"
Если у нас сисадмины не знают английский, теперь я отлично понимаю, почему у нас так много хреновых сисдаминов.
"Найдите мне порядок проверки прав доступа в мане к chmod?"
А это не является интуитивно-понятным?
m0ps, 2009-06-26 в 12:17:07
StasikOS
почему у нас так много хреновых сисдаминов.
сразу видно, имеем дело с офигенным сисадмином *ROLF*
atrium, 2009-06-26 в 12:59:02
Сто пудова :))
Сергей, 2009-06-26 в 15:42:52
Хорошая статья, я только бы ее немного по-другому обозвал, типа "Управление стандартными правами доступа", все-таки ACL включаются ручками, да и они расширяют доступ ...
trap, 2009-06-26 в 16:26:46
vvn
По FreeBSD Handbook, мой друг. И по выводу команды man.
Fantomas, 2009-06-26 в 18:48:53
Хорошая статья. Очень доходчиво. Нашел много полезной информации и скопировал себе в файл. Спасибо.
4 StasikOS.
Тебя "умника" никто не спрашивает.
cawok, 2009-06-26 в 19:17:53
На этом сайте не только одни сисадмины также есть обычные пользователи FreeBSD.
Вот я например нигде не учился на админа и не заканчивал КПИ, а все собираю по крупинкам сам и англ. мягко говоря хреновенько знаю, а вот такие люди мне очень помагают.
За статью спасибо.
maradona, 2009-06-26 в 20:23:45
нормальная статья, для начинающих самое то!, спс за труд, на "особо умных" не обращай внимания!
Cancer, 2009-06-26 в 23:53:27
Ребята но зачем афтора обзывать, да и статью обсирать?
Просто написал человек статью и молодец, не поленился, просто стоило указать на недостатки, но не стоит указывать что он хренов в том или ином.
Понесло меня.......
Самое главное что супер крутые админы остаются за кадром.
Просто стоит мне кажется оставаться людьми и не стоит упрекать в том или ином особенно "теперь я отлично понимаю, почему у нас так много хреновых сисдаминов"
Хреновый сисадминый тот кто ленятся что либо делать и перекладывают на более молодых..... да и многое другое...ИМХО
Ребята ДАВАЙТЕ ЖИТЬ ДРУЖНО! =)
Дима, 2009-06-27 в 0:15:57
Cancer
+1
StasikOS, 2009-06-27 в 8:19:35
Я автора статьи не обзывал хреновым админом. Всего лишь таких "грамотных" и "корректных" людей как Fantomas, mops, atrium, которые не удосужились даже поискать, где я написал о чем-то более полезном. ;) Всем привет, можете дальше портить репутацию lissyara.su.
friend, 2009-06-27 в 11:19:33
отлично написал, всяк труд полезен. повторили пройденное. а орков в /dev/null
XEP MAРЖОВЫЙ, 2009-07-04 в 1:53:00
МДА если половина товарищей не знает английского какого хуя тогда вообще ставить ось где основной источник инфы по ней на английском?
в школе надо было учить английский а не хуйней страдать
что бы потом убогие статейки искать на русском где все разжеванно как для даунов которые вообще не соображают что к чему тк не знаю английский и не могут понять основного это логики
удачи
(п.с cert. itels 8.0)
mvalery, 2009-07-04 в 3:09:44
Администраторы еще обсуждают то, что в других областях деятельности обычная практика.
К тоненькому уголовному кодексу - тома комментариев, решений верховного суда и т.д.
Электронные компании, в месте с чипом поставляют референс-дизайн платы на основе чипа, а не только описание чипа.
Даже по технике секса куча книг и статей. (Можно подумать никто не умеет.)
Вернуться к какой-то теме, осветить ее особенности, описать типичные пути использования - вот цель статей на лисяре и других ресурсах. В такой ситуации тебе может повезти двояко. Или тебе подвернется готовое решение, тогда ты сэкономишь свое время в частном случае. А можешь почувствовать интеллектуальное родство с автором. Тогда ты сможешь вдруг понять тему в целом, что еще лучше.
XEP MAРЖОВЫЙ, 2009-07-04 в 12:56:33
Кстати ожидаем наводнение дебилов школьников с античат.ру,
кто оттуда отзовитесь я поржу DDDDDDD
ps liss ты ещё банеры злого и других российских помоек с кучей долбоебов прикрепи нет что бы хабр или линь ру
эх не по нашему это
atrium, 2009-07-04 в 14:41:17
XEP MAРЖОВЫЙ
Ты к сожалению даже человеческим языком разговаривать не умеешь (всё матом и ругательствами). Заметь никто тебя дебилом не обзывал. И ещё претендуешь на звание адекватного чела :)) Я понимаю что ты родился со знанием английского языка :) мы же всё таки в России :))
lissyara, 2009-07-05 в 17:12:32
> ps liss ты ещё банеры злого и других российских помоек с кучей долбоебов прикрепи
это первый, и единственный сайт с нормальной посещаемостью предложивший обменяться ликами.
остальные предлагавшие - хомяки вась пупкиных с 20 униками в сутки, и скопированными у других статьями.
goshanecr, 2009-07-05 в 19:38:09
предлагаю заменить "манны" на "маны" :)
VDG, 2009-07-22 в 11:47:07
Нормульная статья. Новичкам будет полезно, кинул паре знакомых линк на нее при возникновении у них вопросов на данную тематику.
Из недостатков. Ссылки на английские маны, хотя в качестве защиты статьи используется основной довод "люди не знают английского".
Из неописаного. Стоит добавить иписание изменений прав в реверсивном порядке. Описать ситуации с правами на симлинки.
Ну а так... 10/12
Overseer, 2009-11-30 в 1:22:32
Несправедливо обошли вниманием такую замечательную вещь как chflags.
ACL может не поддерживаться системой ;)
(в смысле, его могут сознательно не_вкомпилить:
options UFS_ACL)
blacklove, 2009-12-30 в 3:18:02
Блин, наткнулся и захотелось вставить свои 5 коп.
Прочитал бегло поэтому сори если этого вдруг не заметил.
Хотелось бы напомнить про особенность прав на каталоги которые выше уровнем чем данный. Например:
. (rwxr-xr-x)
dir1 (rwxrwxrwx)
вот тут сам каталог dir1 нихто кроме владельца каталога "." не удалит. (файлы правда улетят все равно но это уже другая история)
и еще про Stick бит лучше вот так:
".. Если он установлен на каталог то конкретный файл в нём может удалять только владелец файла ЛИБО владелец каталога с правами на запись"
Типа:
#ls -la
drwxrwxrwt 4 alex Oit 4096 2009-12-30 01:54 .
drwxr-xr-x 24 alex Oit 4096 2009-12-30 01:42 ..
-rwxrwxrwx 1 alex Oit 0 2009-12-30 01:39 1
-rw-r--r— 1 serg Oit 0 2009-12-30 01:54 2
так вот юзер alex (влад ".") тоже легко прибьёт файл "2" юзера serg
#uname -r
GNU/Linux
А ваще автору респект! Русские доки быть должны-хороший старт нашим же русским ребятам.
XEP MAРЖОВЫЙ просто не знает, что человеческое восприятие на родном языке горрраздо лучше и осмысленнее даже если чужой язык знаешь в совершенстве..природа челов такова, учи матчасть.
blacklove, 2009-12-30 в 3:21:20
не то скопипастил :)
*
#uname -o
GNU/Linux
Roman, 2012-12-17 в 12:52:19
Тем и отличается сайл Лисяра, что на нем есть информация не только для продвинутых, но и для начинающих. Когда вижу в поисковике ссылку на лисяру, я в первую очередь ее смотрю, а потом, если буде необходимость - остальные. А нецензурная перепалка к профессионализму отношения не имеет. Хамы есть везде. А умный админ не нахамит и не охаит учащегося. Из таких статей и конструктивных комментариев и начинается обучение. Потом переходит в FAQ, а может и в русифицированный ман. Согласен, что админ должен знать английский, хотя бы на чтение. Я свободно читаю и понимаю тексты на английском и немецком, но действительно быстрее воспринимается на русском, особенно когда сомневаешься в правильности своего понимания конкретного текста. И не надо хамить. Предлагаю (мое мнение) администратору или модератору удалить хамские, не относящиеся к статье, в техническом смысле, комментарии и впредь так поступать со всеми статьями и обсуждениями. Дабы не портить репутацию Лисяры.
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [37 шт.]