/etc/shells
содержит список двоичных файлов, которые система считает (неограниченными) оболочками. Это означает, что любой пользователь, который настроил один из этих двоичных файлов в качестве своей оболочки, должен иметь полный доступ к системе (то есть он может выполнить любую команду при условии, что у него есть соответствующие разрешения).
Самый прямой результат - то, что они могут использовать, chsh
чтобы изменить их настроенную оболочку.
Если у пользователя настроена оболочка, которой нет в этом списке, то система предполагает, что он каким-то образом ограничен. В случае chsh
этого означает, что пользователь не может изменить это значение.
Другие программы могут запрашивать этот список и применять аналогичные ограничения.
Таким образом, поставив nologin
в /etc/shells
вас эффективно сказать «любой пользователь , который имеет , nologin
как его оболочка считается полный, неограниченный пользователь». Это почти наверняка полная противоположность тому, что nologin
предполагалось сказать .