/etc/shells
zawiera listę plików binarnych, które system uważa (bez ograniczeń) za powłoki. Oznacza to, że zakłada się, że każdy użytkownik, który skonfigurował jeden z tych plików binarnych jako swoją powłokę, ma pełny dostęp do systemu (co oznacza, że może wykonać dowolne polecenie, pod warunkiem, że ma odpowiednie uprawnienia).
Najbardziej bezpośredni wynik jest taki, że mogą użyć chsh
do zmiany skonfigurowanej powłoki.
Jeśli użytkownik ma skonfigurowaną powłokę, której nie ma na tej liście, wówczas system zakłada, że jest w jakiś sposób ograniczony. W takim przypadku chsh
oznacza to, że użytkownik nie może zmienić tej wartości.
Inne programy mogą sprawdzać tę listę i stosować podobne ograniczenia.
Więc poprzez umieszczenie nologin
w /etc/shells
was skutecznie powiedzieć „każdy użytkownik, który ma nologin
jako jego powłoka jest uważany za pełny, nieograniczony użytkownika”. To prawie na pewno dokładne przeciwieństwo tego, co nologin
miało powiedzieć .