Що таке інтерактивна та неінтерактивна оболонка?
Запитання: Створіть користувача John, який не повинен отримувати інтерактивну оболонку.
Як ми можемо це зробити?
Що таке інтерактивна та неінтерактивна оболонка?
Запитання: Створіть користувача John, який не повинен отримувати інтерактивну оболонку.
Як ми можемо це зробити?
Відповіді:
У цьому /etc/passwd
файлі є останнім елементом у рядку користувача програма, яку потрібно запустити при вході в систему. Для звичайних користувачів це, як правило, встановлено в /bin/sh
іншу оболонку (наприклад, bash, zsh).
Традиційно ідентичності, які використовуються для власних процесів або файлів або інших ресурсів, мають свою "оболонку", встановлену /bin/false
як в
syslog:x:101:102::/home/syslog:/bin/false
Псевдокористувальний syslog володіє /var/log/syslog
і є єдиним UID, який має дозвіл на запис для цього файлу, але він не може увійти як syslog користувача, оскільки немає інтерпретатора команд, який не запускається.
Щодо питання, на яке ви намагаєтесь відповісти:
Створіть користувача John, який не повинен отримати інтерактивну оболонку.
Питання означає "Створіть користувача на ім'я, john
який не зможе увійти та запустити команди з оболонки". Інтерактивне описує спосіб роботи оболонки: користувач щось вводить, а оболонка щось робить відповідно (існує певний зв’язок між користувачем і оболонкою). Слово "інтерактивний" насправді не додає жодної інформації до питання, оскільки, поки користувач вводить команди, сеанс оболонки є інтерактивним.
Існує також неінтерактивний режим, коли користувач зберігає низку команд, які хоче виконати у файлі (називається скриптом оболонки), а потім виконує файл. Деякі команди поводяться по-різному залежно від того, чи оболонка виконується інтерактивно чи неінтерактивно. Ви можете прочитати більше тут (цей документ призначений для bash
, але те саме стосується інших оболонок).
Про те, як створити такого користувача, якщо ви проглядаєте man useradd
, є можливість встановити оболонку входу, -s
або --shell
. Ви також можете створити користувача нормально, у будь-якому випадку, який ви хочете (який, я вважаю, ви вже знаєте?), А потім редагувати, /etc/passwd
як у відповіді MSW .
Так, змініть оболонку у файлі пароля (/ etc / passwd) на якусь програму, яка не дозволить оболонці вийти.
якщо ти хочеш бути bofh / bin / false, зробиш саме те, що ти хочеш.