Control: различия между версиями
Нет описания правки |
|||
Строка 4: | Строка 4: | ||
<tt>control</tt> — использующийся в ALT Linux и Owl GNU/*/Linux механизм переключения между неким набором фиксированных состояний для задач, допускающих такой набор. В первую очередь полезен для управления SUID/SGID-бинарниками. | <tt>control</tt> — использующийся в ALT Linux и Owl GNU/*/Linux механизм переключения между неким набором фиксированных состояний для задач, допускающих такой набор. В первую очередь полезен для управления SUID/SGID-бинарниками. | ||
Для того, что-бы посмотреть, что означает то или иное состояние (режим работы) {{cmd|control}} для какой-либо команды, надо запустить команду с ключом '''help''', например для команды {{cmd|su}} имеем: | |||
<source lang=bash> | |||
# control su help | |||
public: Any user can execute /bin/su | |||
wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser | |||
wheelonly: Only "wheel" group members can execute /bin/su | |||
restricted: Only root can execute /bin/su | |||
</source> | |||
Т.е. дл управления командой su имеем: | |||
<source lang=text> | |||
public: любой пользователь может выполнить команду /bin/su | |||
wheel: любой пользователь может выполгить команду su, но только пользователи, входящие в группу wheel могут получить через неё права root | |||
wheelonly: только пользователи, входящие в группу wheel, могут выполнить команду su | |||
restricted: Только root может выполнять команду su | |||
</source> | |||
Или, например контрол для команды fusermount: | |||
<source lang=bash> | |||
# control fusermount help | |||
public: Any user can execute /usr/bin/fusermount | |||
fuseonly: Only "fuse" group members can execute /usr/bin/fusermount | |||
wheelonly: Only "wheel" group members can execute /usr/bin/fusermount | |||
restricted: Only root can execute /usr/bin/fusermount | |||
</source> | |||
<source lang=text> | |||
public: любой пользователь может выполнить команду fusermount | |||
fuseonly: только пользователи, входящие в группу fuse, могут выполнить команду fusermount | |||
wheelonly: только пользователи, входящие в группу wheel, могут выполнить команду fusermount | |||
restricted: Только root может выполнять команду fusermount | |||
</source> | |||
Запустив {{cmd|control}} без параметров, можно увидеть полный список средств (facilities) вместе с их текущим состоянием и набором допустимых состояний. | Запустив {{cmd|control}} без параметров, можно увидеть полный список средств (facilities) вместе с их текущим состоянием и набором допустимых состояний. |
Версия от 06:30, 2 сентября 2017
control(8)
control — использующийся в ALT Linux и Owl GNU/*/Linux механизм переключения между неким набором фиксированных состояний для задач, допускающих такой набор. В первую очередь полезен для управления SUID/SGID-бинарниками.
Для того, что-бы посмотреть, что означает то или иное состояние (режим работы) control для какой-либо команды, надо запустить команду с ключом help, например для команды su имеем:
# control su help
public: Any user can execute /bin/su
wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser
wheelonly: Only "wheel" group members can execute /bin/su
restricted: Only root can execute /bin/su
Т.е. дл управления командой su имеем:
public: любой пользователь может выполнить команду /bin/su
wheel: любой пользователь может выполгить команду su, но только пользователи, входящие в группу wheel могут получить через неё права root
wheelonly: только пользователи, входящие в группу wheel, могут выполнить команду su
restricted: Только root может выполнять команду su
Или, например контрол для команды fusermount:
# control fusermount help
public: Any user can execute /usr/bin/fusermount
fuseonly: Only "fuse" group members can execute /usr/bin/fusermount
wheelonly: Only "wheel" group members can execute /usr/bin/fusermount
restricted: Only root can execute /usr/bin/fusermount
public: любой пользователь может выполнить команду fusermount
fuseonly: только пользователи, входящие в группу fuse, могут выполнить команду fusermount
wheelonly: только пользователи, входящие в группу wheel, могут выполнить команду fusermount
restricted: Только root может выполнять команду fusermount
Запустив control без параметров, можно увидеть полный список средств (facilities) вместе с их текущим состоянием и набором допустимых состояний.
Для переключения состояния control вызывает соответствующий скрипт из /etc/control.d/facilities/. Как именно делается переключение конкретной facility — зависит исключительно от фантазии разработчика :) Например, в случае cdrecord скрипт изменяет права на исполняемый файл cdrecord, а в случае cups — правит cupsd.conf на предмет RunAsUser.
Примеры
# control at restricted (public restricted atdaemon) crontab public (public restricted) fusermount restricted (public wheelonly restricted) gpasswd restricted (public wheelonly restricted) mount public (public wheelonly restricted) newgrp restricted (public wheelonly restricted) nfsmount restricted (public wheelonly restricted) pam_mktemp enabled (enabled disabled) passwd tcb (tcb traditional restricted) ping public (public netadmin restricted) ping6 restricted (public netadmin restricted) postfix local (local server filter) postqueue public (public mailadm restricted) sftp disabled (enabled disabled) su wheelonly (public wheel wheelonly restricted) sudo public (public wheelonly restricted) sudoers unknown (strict relaxed) system-auth local (local ldap) tcb_chkpwd tcb (traditional tcb restricted) write public (public restricted)