Ооо «торг-м» - настройка sudo centos

1. Використання команди: su

Багато команд можуть бути запущені тільки суперкористувачем, тому ми повинні знати, як стає їм (root-ом). Щоб зробити це, ми можемо використовувати команду: su (зміна користувача). Команда su приймає такі формати:

але найчастіше ми будемо використовувати su для того, щоб стати користувачем root:

якщо ім'я користувача в рядку не вказано, то автоматично передбачається користувач root, тому команду можна скоротити:

але обидві команди ведуть себе по-різному. 'su 'Дає активного користувача особистість , тоді, як 'su - 'Дає активного користувача особистість разом з оточенням , яке можна було б отримати, зареєструвавшись як .

Найчастіше користувачі використовують 'su' для переходу в root. Спробувавши запустити команду (наприклад - ifconfig), ви отримаєте: 'command not found' error.

Причина полягає в тому, що звичайні користувачі системи і root користувач мають різні змінні оточення PATH (ви можете подивитися PATH користувача за допомогою «echo $ PATH). Після введення команди Linux, оболонка буде шукати для користувача PATH, щоб спробувати знайти команду для запуску. Вона починає пошук в кожній директорії зазначеної в PATH, поки мета не буде знайдена.

Команди звичайних користувачів зазвичай розташовані в / usr / local / bin, / usr / bin і / bin. А команди користувача root розташовуються в основному в / usr / local / sbin, / usr / sbin, / sbin і кореневої PATH це відображає. Тому, коли ви стаєте суперкористувачем за допомогою «su -«, то ви також приймаєте і новий шлях PATH до основних командам. А використовуючи тільки 'su', зберігається для користувача шлях PATH за замовчуванням, отже, при спробі виконати програму розташовану в / usr / local / sbin, / usr / sbin, / sbin видасть результат: 'command not found' error. Для більш детального пояснення, дивіться сторінку підручника (man bash), особливо розділ login shells.

Таким чином, ви або повинні вказувати повний шлях до команди (приклад - / sbin / ifconfig) при використанні 'su', або використовувати 'su -', коли стаєте root-ом.

2. Використання Sudo

Вам не потрібно бути суперкористувачем кожен раз, коли ви хочете запустити деякі конкретні адміністративні функції. Завдяки Sudo. ви можете запустити деякі або всі команди як під root-ом. Коли Sudo встановлений (пакет: Sudo), ви можете налаштувати його за допомогою команди 'visudo' під root-ом. В основному він редагує (Vim за замовчуванням) / etc / sudoers, але це не рекомендується робити вручну.

Таким чином, швидкий і Нерекомендовані спосіб використання Sudo, це додати в кінці файлу sudoers:

Alex - ім'я користувача. Збережіть (натиснути escape, потім ввести wq), і все готово. Увійдіть як alex, і запустіть наприклад:

Sudo запросить пароль. Це пароль alex-а, а не користувача root. Так що будьте обережні, коли ви даєте права користувача з Sudo.

Але Sudo може зробити не тільки це, а набагато більше. Ми можемо дозволити користувачеві або групі користувачів запускати тільки одну команду або групу команд. Давайте повернемося до нашого sudoers файлу. Почнемо з alex та alisa, членів групи administrator. Якщо ми хочемо, щоб всі користувачі з групи »administrator» були в змозі запустити кожну команду в якості суперкористувача, ми повинні змінити наш приклад:

Alex так само може виконати суперпользовательскую команду, і alisa отримала право запускати Sudo, з тими ж правами і зі своїм паролем. Якщо alex та alisa не члени однієї групи, ми можемо визначити псевдонім користувача в файлі sudoers:

Тут ми визначили алиас під назвою ADMINS, з членами alisa і alex.

Проте, ми не хочемо, щоб alex та alisa могли запускати з правами суперкористувача будь-яку програму. Ми хочемо, щоб вони могли запускати тільки 'updatedb'. Давайте визначимо команду псевдонім:

Але цього замало! Ми повинні сказати Sudo, що користувачі, визначені як ADMINS, можуть запускати команди задані в LOCATE. Щоб зробити це, ми замінимо рядки з «% admin» на ці:

Це означає, що користувачі входять в алиас ADMINS можуть запускати всі команди в аліас LOCATE.

На цей раз, / etc / sudoers виглядає наступним чином:

В результаті alex та alisa можуть запускати updatedb, як root, ввівши свій пароль.

Якщо останній рядок в файлі змінити:

тоді alex та alisa зможуть виконати 'sudo updatedb' без введення пароля.

Можна додати інші команди в командний алиас і більш алиасов в правило. Наприклад ми можемо створити алиас NETWORKING містить деякі мережеві команди типу: ifconfig, route або iwconfig:

Давайте все це додамо в наш / etc / sudoers файл (за допомогою visudo!). А також надамо нашій ADMINS групе права на виконання програм і з аліаса NETWORKING:

Маленька проба: увійдіть в систему як alisa (або alex), і наберіть:

Відповідь має повернутися швидко:

Тепер, теж-саме але з Sudo:

Sudo часто використовується для надання певним користувачам часткового доступу до привілейованих командам, щоб вони могли виконувати обмежені адміністративні функції. Одне з зручностей Sudo в тому, що всі команди записуються в / var / log / secure. Наведений вище приклад буде описаний рядком в журналі:

От і все. Тепер ніколи не забуду, коли використовував Sudo: «з великою владою приходить велика відповідальність».

2.1 Sudo shell

Якщо у вас налаштоване досить прав в sudoers, ви також можете відкрити root-ую оболонку shell використовуючи:

В останніх версіях тільки на CentOS 5, для запуску shell під root, використовується sudo -s. Будьте дуже обережні, так як це може міняти або створювати нові файли в домашній директорії Root, а установку вести в домашній каталог викликав користувача.

3. consolehelper

Як приклад, давайте налаштуємо / usr / bin / xterm для запуску в якості root-ого.

По-перше, ми хочемо зберегти можливість запускати Xterm під звичайним користувачем. Тому створимо символічне посилання / usr / bin / xterm-root для / usr / sbin / consolehelper:

Тепер для конфігурації PAM - створіть файл /etc/pam.d/xterm-root:

Нарешті, налаштуйте consolehelper на запуск / usr / bin / xterm під root-ом, командою 'xterm-root'. Створіть файл /etc/security/console.apps/xterm-root:

От і все. Запускайте 'xterm-root' (з командного рядка або ярликом .desktop file), введіть пароль і в путь. Якщо ви отримали повідомлення про помилку: «Xlib: connecttion to«: 0.0 "refused by server», запустіть спочатку 'xhost local: root'.

Установка і настройка sudo в CentOS

Після установки CentOS в системі присутній тільки користувач root, використання якого небажано з міркувань безпеки. Для того, щоб убезпечити сервер потрібно створити звичайного користувача, який, при необхідності, зміг би підвищувати свої повноваження до рівня суперкористувача. Використання команди sudo дозволяє зробити це, зберігаючи пароль суперкористувача в таємниці.

Перш за все потрібно встановити пакет sudo, який доступний в базових репозиторіях CentOS.

Схожі статті