<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF112%3ADrBrown2</id>
		<title>LXF112:DrBrown2 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF112%3ADrBrown2"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF112:DrBrown2&amp;action=history"/>
		<updated>2026-05-13T03:53:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF112:DrBrown2&amp;diff=9141&amp;oldid=prev</id>
		<title>Crazy Rebel: Новая: ==Радости RWX==  : Доктор рассматривает права доступа к файлу и отвечает на вопросы, которые никто бы и не ...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF112:DrBrown2&amp;diff=9141&amp;oldid=prev"/>
				<updated>2009-11-29T11:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: ==Радости RWX==  : Доктор рассматривает права доступа к файлу и отвечает на вопросы, которые никто бы и не ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Радости RWX==&lt;br /&gt;
&lt;br /&gt;
: Доктор рассматривает права доступа к файлу и отвечает на вопросы, которые никто бы и не задал.&lt;br /&gt;
&lt;br /&gt;
Вы знакомы с правами доступа, не так ли? Милая троица «чтение, запись, исполнение», для «владельца, группы и остальных пользователей». Конечно, знакомы! Скажем, у нас есть такой файл:&lt;br /&gt;
&lt;br /&gt;
 $ ls -l foo&lt;br /&gt;
 -rw-r----- 1 chris student 1550 2008-08-21 15:05 foo&lt;br /&gt;
&lt;br /&gt;
Мы видим, что пользователь '''chris''' может читать и записывать в&lt;br /&gt;
файл, члены группы '''student''' могут только читать его, а у остальных&lt;br /&gt;
пользователей вообще нет доступа. А как насчет следующего файла?&lt;br /&gt;
&lt;br /&gt;
 $ ls -l foo&lt;br /&gt;
 -r--rw---- 1 chris student 1550 2008-08-21 15:05 foo&lt;br /&gt;
&lt;br /&gt;
Если '''chris''' является членом группы '''student''', может ли он писать&lt;br /&gt;
данные в файл? Когда я задаю этот вопрос в классе, мои студенты&lt;br /&gt;
обычно делятся на три группы: «да», «нет» и «не хочу оконфузиться, дав, возможно, неверный ответ». Верный ответ – '''нет'''. Так как '''chris''' является владельцем файла, то видит первые три бита прав доступа.&lt;br /&gt;
Точка. Linux не говорит: «Ага, но '''chris''' – член группы '''student''', поэтому&lt;br /&gt;
он может писать в файл». На практике этот вопрос всплывает редко –&lt;br /&gt;
вы вряд ли увидите права доступа, в которых ограничения ослабляются&lt;br /&gt;
слева направо.&lt;br /&gt;
&lt;br /&gt;
Следующий вопрос: может ли '''chris''' удалить файл (права доступа те&lt;br /&gt;
же самые)? Раз уж я убедил всех, что '''chris''' не может писать в файл,&lt;br /&gt;
большинство студентов в классе решили, что удалить его он тоже не&lt;br /&gt;
может. На самом деле это не исключено – в зависимости от наличия&lt;br /&gt;
прав на запись для каталога, откуда он пытается удалить файл. Именно&lt;br /&gt;
так: вам не нужны права на запись для файла, чтобы его удалить, нужны только права на запись для каталога.&lt;br /&gt;
&lt;br /&gt;
А права на выполнение? Для двоичных скомпилированных файлов, вроде тех, что в каталоге '''/usr/bin''', они означают, что вы можете запустить команду. Права на выполнение и на чтение – разные, и для&lt;br /&gt;
выполнения файла вам не обязательно мочь его читать. Скрипты,&lt;br /&gt;
однако, статья особая. Пусть у меня есть скрипт '''demo'''. Имея права на&lt;br /&gt;
чтение, запустить файл я могу несколькими способами. Во-первых,&lt;br /&gt;
можно явно запустить новую оболочку и передать ей файл скрипта как&lt;br /&gt;
входной параметр таким образом:&lt;br /&gt;
&lt;br /&gt;
 $ sh demo&lt;br /&gt;
&lt;br /&gt;
Во-вторых, можно выполнить команды скрипта из текущей оболочки, используя команду ''source'' таким образом:&lt;br /&gt;
&lt;br /&gt;
 $ source demo&lt;br /&gt;
 $ . demo # . - сокращенный аналог source&lt;br /&gt;
&lt;br /&gt;
В обоих случаях мне нужны только права на чтение (а не исполнение) скрипта. Также можно выполнить скрипт как команду, набрав его имя таким образом:&lt;br /&gt;
&lt;br /&gt;
 $ ./demo&lt;br /&gt;
&lt;br /&gt;
В этом случае будет автоматически запущена новая оболочка, в которой выполнится скрипт. Для этого необходимы права на чтение и выполнение, только прав на выполнение недостаточно.&lt;br /&gt;
&lt;br /&gt;
Другой вопрос, вызывающий путаницу – это права доступа по отношению к каталогу. Различия между правами на чтение и исполнения для каталога четко определены, но они очень тонкие. Если у меня есть&lt;br /&gt;
право на чтение для каталога, но нет права на исполнение, я могу просмотреть содержимое каталога, но не смогу перейти в него командой ''cd''. Если у меня есть право на исполнение, но нет права на чтение,&lt;br /&gt;
переход в каталог командой ''cd'' разрешен, но нельзя просмотреть его&lt;br /&gt;
содержимое, хотя, как это ни удивительно, можно обратиться к файлу&lt;br /&gt;
по имени. Суть такова: чтобы иметь разумный доступ к каталогу, нужны&lt;br /&gt;
как права на чтение, так и на исполнение. Только одно из этих прав без&lt;br /&gt;
второго не имеет смысла, и, насколько я знаю, в Linux нет каталогов с&lt;br /&gt;
такими правами.&lt;br /&gt;
&lt;br /&gt;
===Sticky-бит===&lt;br /&gt;
&lt;br /&gt;
Наконец, о значении «sticky-бита». Этот флажок появился в Unix в середине семидесятых. Когда он установлен, ядро знает: нужно оставить сегмент кода программы в области подкачки после завершения процесса. Это увеличивает скорость последовательных выполнений программы, поскольку единственное, что нужно сделать ядру&lt;br /&gt;
в таком случае – это переместить программу из области подкачки в&lt;br /&gt;
память. Благодаря этому часто используемые приложения – например, редакторы – будут загружаться заметно быстрее. Хотя для своего времени эта идея была неплохой, в текущих версиях Unix данный бит&lt;br /&gt;
для обычных файлов не установлен, а в Linux никогда и не устанавливался. Но он играет важную роль для каталогов, изменяя правила, определяющие, кто может удалять в них файлы. Если бит установлен, это может делать только владелец файла, владелец каталога или суперпользователь.&lt;br /&gt;
&lt;br /&gt;
[[Изображение: LXF112_47_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Вывод команды ''ls -l foo'' (ну, большая его часть), и что он означает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux на печати===&lt;br /&gt;
&lt;br /&gt;
Я бы рад снабдить вас библиографией, но на рынке литературы для системных администраторов Linux сейчас затишье. До спада в индустрии технической литературы (в 2001 году) люди покупали гораздо больше книг, и&lt;br /&gt;
публиковать можно было все что угодно. Сегодня издатели выискивают книги с большей аудиторией, чтобы избежать финансовых потерь при публикации. Почти по определению, системные администраторы – значительно меньшая группа потребителей, чем конечные пользователи, и издатели не хотят рисковать. Из этого правила есть исключения&lt;br /&gt;
– нишевые группы читателей-энтузиастов, более охотно покупающих книги, и издатели иногда пользуются шансом сделать что-то необычное, и хорошо делают. Но львиная доля специальных изданий просто не выживет при современном экономическом климате. Наверное, мой 800-страничный труд о портировании Linux на микроволновку пока&lt;br /&gt;
придется отложить.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>