Почему некоторые системные пользователи имеют /usr/bin/false в качестве оболочки и что это значит?
3 ответа
Это помогает предотвратить вход пользователей в систему.
Иногда вам нужна учетная запись пользователя для конкретной задачи. Тем не менее, никто не должен иметь возможность взаимодействовать с этой учетной записью на компьютере. Это, с одной стороны, учетные записи пользователей системы, с другой стороны, это учетная запись, для которой возможен доступ по FTP или POP3, но просто нет прямого входа в оболочку.
Если вы посмотрите более внимательно на файл /etc/passwd
, вы найдете команду /bin/false
в качестве оболочки входа для многих системных учетных записей. На самом деле false - это не оболочка, а команда, которая ничего не делает, а затем заканчивается кодом состояния, который сигнализирует об ошибке. Результат прост. Пользователь входит в систему и сразу же видит приглашение для входа снова.
Эти пользователи существуют как владельцы определенных файлов или процессов и не предназначены для входа в систему.
Если значение поля "shell" не указано в /etc/shells
программы, такие как демоны FTP, не разрешают доступ.
Кроме того, для программ, которые не проверяют /etc/shells
, мы используем тот факт, что /bin/false
будет немедленно возвращен, поэтому запрещаем интерактивную оболочку.
У некоторых пользователей есть /usr /bin /false, у других - /sbin /nologin или даже /usr /bin /passwd. Это могут быть как системные пользователи, которые необходимы для изоляции прав доступа к программам, так и пользователи программ, которые используют файлы паролей для аутентификации.