Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Дополнительные возможности

Кроме основных опций запуска обе команды имеют большое количество дополнительных. Полный формат запуска getfacl такой:


getfacl [-adRLPvh] файл ...
getfacl [-adRLPvh] -

В первом случае имена файлов задаются в командной строке, во втором берутся из стандартного ввода.


ls -1 /home | getfacl -

Вывод:


# file: dh/
# owner: dh
# group: root
user::rwx
group::rwx
mask:rwx
other:---
default:user::rwx
default:group::---
default:other:---

# file: ftp/
# owner: root
# group: root
user::rwx
group::r-x
other:r-x

# file: user1/
# owner: user1
# group: users
user::rwx
user:dh:r-x
user:user2:rwx
group::---
mask:rwx
other:---

# file: user2/
# owner: user2
# group: users
user::rwx
group::---
other:---

Опции:

-a
--access
Вывод ACL без Default ACL.
-d
--default
Вывод только Default ACL.
--omit-header
Не выводить заголовок с комментариями (первые три строки вывода).
--all-effective
Выводить комментарии с действующими правами доступа для каждого пользователя, даже если они совпадают с заданными.
--no-effective
Не выводить комментарии с действующими правами доступа ни для одного пользователя.
--skip-base
Не выводить данные файлов, у которых установлены только основные права доступа (ACL_USER, ACL_GROUP и ACL_OTHER).
-R
--recursive
Делать рекурсивный обход каталога и выводить ACL для каждого файла и каталога. Можно использовать для создания резервной копии ACL всех файлов каталога.
--post-order
Делать рекурсивный обход каталога и выводить ACL для каждого файла и каталога в обратном порядке, т.е. сначала выводятся ACL для файлов в каталоге, а потом для самого каталога.
-L
--logical
Двигаться по символьным ссылкам на каталоги. При отсутствии данной опции выводятся только ACL каталога, на который указывает ссылка, и обход внутрь не делается.
-P
--phisycal
Не двигаться по символьным ссылкам и не показывать ACL каталогов или файлов, на которые указывает ссылка.
--tabular
Вывод в альтернативном табличном формате. Первый столбец - название элемента ACL, второй - имя пользователя или группы, третий - режим доступа, четвертый - Default ACL.

getfacl /home/dh
echo ----+-----
getfacl --tabular /home/dh

Вывод:

# file: home/dh
# owner: dh
# group: root
user::rwx
user:user2:rwx
group::rwx
mask:rwx
other:---
default:user::rwx
default:group::---
default:other:---
----+-----
# file: home/dh
USER   dh        rwx  rwx
user   user2     rwx
GROUP  root      rwx  ---
mask             rwx
other            ---  ---

--absolute-names
Не удалять лидирующий слэш ("/") из имен файлов.
-v
--version
Вывод номера версии getfacl.
-h
--help
Вывод подсказки.
--
Конец опций командной строки. Все данные, следующие за этим, рассматриваются как имена файлов, даже если они начинаются с "-".

Полный формат запуска setfacl такой:


setfacl [-bkndRLPvh] [ [{-s|-m|-x} ACL_структура ...] файл ... ] ...
setfacl [-bkndRLPvh] [ [{-s|-m|-x} ACL_структура ...] - ]
setfacl [-bkndRLPvh] [ [{-S|-M|-X} ACL_файл ...] файл ... ] ...
setfacl [-bkndRLPvh] [ [{-S|-M|-X} -] файл ]

Как и в случае с getfacl, присутствие "-" в командной строке вместо имени файла указывает команде брать список файлов со стандартного ввода. Опции:

-b
--remove-all
Удалить все дополнительные ACL.
-k
--remove-default
Удалить все Default ACL.
-n
--no-mask
Не изменять действующие права доступа, даже если они не заданы напрямую.
--mask
Пересчитать действующие права доступа, даже если они заданы напрямую.
-d
--default
Все операции производятся над Default ACL.
--restore
Восстанавливает права доступа из файла, созданного при помощи getfacl -R/
--test
Режим тестирования. Не изменяет ACL файлов, а только выдает результат.
-R
--recursive
То же, что и для getfacl. Не работает вместе с --restore.
--post-order
То же, что и для getfacl. Не работает вместе с --restore.
-L
--logical
То же, что и для getfacl. Не работает вместе с --restore.
-P
--phisycal
То же, что и для getfacl. Не работает вместе с --restore.
-v
--version
Вывод номера версии setfacl.
-h
--help
Вывод подсказки.
--
Конец опций командной строки. Все данные, следующие за этим, рассматриваются как имена файлов, даже если они начинаются с "-".

Существуют также и опции дублирующие -s, -m и -x, но при их использовании ACL-структуры передаются не в командной строке, а из созданного предварительно файла. Это опции -S, -M и -X. Для получения данных о правилах доступа из стандартного ввода используются опции -S-, -M- и -X-. Например, чтоб скопировать права доступа с каталога /home/dh на каталог /home/user1 надо выполнить следующее:


getfacl  /home/dh >/tmp/111
setfacl -S /tmp/111 /home/user1
rm -f /tmp/111

Или так:


getfacl /home/dh | setfacl -S- /home/user1

Предыдущая

Содержание

Следующая


(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP