чтение файла и запись в файл
>test.txt
:
Здесь ключ '>-m
' указывает модифицировать правила acl. Указав ключ '>--set
', можно заменить правила, т. е. удалить старые и заменить новыми (в >setfacl
можно указать несколько правил одновременно). Ключом '>-x
' правила можно удалять. Строка '>u:vasya;rw
' указывает на то, что правило относится к пользователю (u = user, g = group, o = others), его и<я >vasya,
и устанавливаются права на чтение и запись. Теперь установим маску – разрешим пользователю >vasya
(и другим, имеющим доступ через правила acl) «не более чем» чтение:
Как видим, правило осталось, но права на запись ограничены маской.
Ещё одно полезное свойство acl – наследование правил. На каталог можно установить acl «по умолчанию», они могут не совпадать с acl на сам каталог, и они будут автоматически применяться ко всем создаваемым файлам и каталогам.
Советуем подробнее прочесть о правах в Linux и опциях вышеупомянутых команд, тут мы их коснулись совсем немного.
Понятие сервиса, ключевые сервисы
Выше мы уже не раз использовали термины «сервис», «демон», «служба». Все они обозначают одно и то же: процесс или группу процессов, которые работают постоянно или автоматически запускаются по запросу. Их задача – обслуживать определённые запросы от пользователей, других процессов, других компьютеров в сети. Например, web-сервер >apache
– сервис, обслуживающий запросы по http-протоколу. SMTP-сервер отвечает за запросы на передачу почтовых сообщений и т. д. Рассмотрим сервисы, часто используемые в суперкомпьютерах. О некоторых из них мы уже говорили выше и здесь только перечислим их.
Некоторые сервисы запускаются через «супердемон» >inetd
или более новую его реализацию – >xinetd
. В этом случае в конфигурационном файле >inetd/xinetd
описываются необходимые сервисы: команда запуска, на каком порту слушать, от имени какого пользователя запускать и т. п. После запуска >inetd/xinetd
начинает слушать на указанных портах и при получении запроса запускает соответствующую команду, которой на стандартный поток ввода направляется установленное сетевое соединение. Такой принцип облегчает написание сервиса, а также позволяет более гибко настраивать политику доступа к нему. Например, >xinetd
позволяет задать диапазон адресов, с которых разрешён доступ, максимальное число одновременных запросов к сервису и т. п.