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