Sudo-розподіл повноважень між користувачами у FreeBSD, Media UniX

freebsd команди, налаштування, встановлення сервера і не тільки

sudo-розподіл повноважень між користувачами FreeBSD

Як відомо, завжди сидіти під root'ом не добре, саме для розподілу повноважень і створено sudo, а саме для запуску програм від імені іншого користувача. Таким чином, якщосервер на FreeBSD обслуговується декількомакористувачами і в кожного своє завдання, далі якого він вникати не повинен, то sudo - те, що потрібно. Перейдемо до встановленняsudo з портів FreeBSD. Виконуємо: cd /usr/ports/security/sudo make config

Опції складання: Options for sudo 1.7.4.4_1 [ ] LDAP З LDAP support [ ] INSULTS З усіма insults [ ] DISABLE_ROOT_SUDO Disable root sudo [ ] DISABLE_AUTH Disable authentication [ ] NOARGS_SHELL Enable no arguments shell

Встановлюємо: make BATCH=yes -C/usr/ports/security/sudo install clean rehash

Після того, як встало, редагуємо файл конфігурації: cp /usr/local/etc/sudoers /usr/local/etc/sudoers_0 ee /usr/local/etc/sudoers

Даліприклади рядків для додаванняфайл /usr/local/etc/sudoers.

1) Якщо треба дозволити виконувати всі програми користувачам, що входять до групи wheel, використовуючи свій пароль, то треба вписати рядок: %wheel ALL=(ALL) ALL

2) те саме, що й пункт 1, тільки без запиту пароля, то додаємо рядок: %wheel ALL=(ALL) NOPASSWD: ALL

3) Відповідно, якщо треба дати права виконувати будь-які команди одному користувачеві, то дописуємо: user ALL=(ALL) ALL де user — ім'я користувача в системі.

4) Якщо потрібно дозволити членам групи users(має бути в системі) перезавантажувати freebsd, то вписуємо: %users localhost=/sbin/shutdown -r now

5) Якщо потрібно надати права користувачам, що знаходяться в різних групах, то цих користувачів можна об'єднати в одну групу, знову ж таки використовуючи файлик sudoers. Наприклад, у нас 2-а користувача з іменами user1 та user2. В ОС FreeBSD вони знаходяться у різних групах, але цим користувачам треба дозволити виконувати reboot. У такому разі спочатку об'єднуємо їх в одну групу (назвемо її REBUSER) рядком: User_Alias ​​REBUSER = user1, user2

А тепер дозволяємо групі REBUSER перезавантажувати ОС: REBUSER ALL=/sbin/reboot

Примітка: символ % для REBUSER у цьому випадку не потрібний. Користувачі user1, user2 звичайно повинні бути присутніми в системі. /sbin/reboot — команда для перезавантаження Якщо треба створити кілька груп, то дію повторюємо: User_Alias ​​назва_групи = користувач_1, користувач_2 так можна створити безліч груп, кожній з яких надати лише певні права.

6) Тепер уявімо ситуацію, що цій групі REBUSER треба виконувати не одну команду, а список визначений. У такому випадку треба додати рядки: User_Alias ​​REBUSER = user1, user2 Cmnd_Alias ​​COMND = /usr/bin/kill, /sbin/reboot, /sbin/shutdown -r now REBUSER ALL= COMND

тут якраз у рядку Cmnd_Alias ​​перераховано список дозволених команд, об'єднаних довільною назвою COMND.

Псевдонімів для команд можна створити кілька, наприклад: Cmnd_Alias ​​COMND1 = . Cmnd_Alias ​​COMND2 = . Cmnd_Alias ​​COMND3 = .

І дозволити групі тільки ті, які потрібні, наприклад: REBUSER ALL=COMND1, COMND3

Примітка: Назви псевдонімів (у прикладах вище REBUSER, COMND) обов'язково повинні бути з великої літери, інакше працювати не буде.

Ось загалом і весь необхідний мінімум.

Навігація позаписам