Что такое интерактивная и неинтерактивная оболочка?
Вопросы: создайте пользователя john, который не должен получать интерактивную оболочку.
Как мы можем это сделать?
/etc/passwd
Файл имеет как последний элемент в строке пользователя программа для запуска при входе в систему . Для обычных пользователей это обычно устанавливается в /bin/sh
другую оболочку (например, bash, zsh).
Традиционно, идентичность, которые используются для собственных процессов или файлов и других ресурсов есть их «оболочка» сет , /bin/false
как и в
syslog:x:101:102::/home/syslog:/bin/false
Псевдопользовательский системный журнал владеет /var/log/syslog
и является единственным UID, у которого есть разрешение на запись для этого файла, но никто не может войти в систему как пользовательский системный журнал, так как нет интерпретатора команд для запуска.
По поводу вопроса, на который вы пытаетесь ответить:
Создайте пользователя john, который не должен получать интерактивную оболочку.
Вопрос означает «Создать пользователя с именем, john
который не сможет войти в систему и запускать команды из оболочки». Интерактивно опишите, как работает оболочка: пользователь что-то вводит, а оболочка делает что-то соответственно (между пользователем и оболочкой существует своего рода связь). Слово «интерактивный» на самом деле не добавляет никакой информации к вопросу, потому что, пока есть пользовательские команды, сеанс оболочки является интерактивным.
Существует также неинтерактивный режим, в котором пользователь сохраняет серию команд, которые он хочет запустить в файле (называемый сценарием оболочки), и затем выполняет файл. Некоторые команды ведут себя по-разному в зависимости от того, запускается ли оболочка в интерактивном или неинтерактивном режиме. Вы можете прочитать больше здесь (этот документ предназначен bash
, но та же концепция применима и для других оболочек).
О том, как создать такого пользователя, если вы просматриваете, man useradd
есть опция для установки оболочки входа, -s
или --shell
. Вы также можете создать пользователя в обычном порядке, любым способом (который, я полагаю, вы уже знаете?), А затем отредактировать, /etc/passwd
как в ответе msw .
adduser username -s /sbin/nologin