/etc/shells
містить перелік двійкових файлів, які система вважає (необмеженими) оболонками. Це означає, що будь-який користувач, який налаштував один із цих бінарних файлів як свою оболонку, має на увазі повний доступ до системи (тобто вони можуть виконувати будь-яку команду за умови відповідного дозволу).
Найбільш прямий результат - це те, що вони можуть використовувати chsh
для зміни налаштованої оболонки.
Якщо у користувача налаштована оболонка, якої немає в цьому списку, система передбачає, що він якось обмежений. У випадку chsh
це означає, що користувач не може змінити це значення.
Інші програми можуть запитувати цей список і застосовувати подібні обмеження.
Тож, вводячи nologin
в дію, /etc/shells
ви ефективно говорите: "будь-який користувач, який має nologin
свою оболонку, вважається повноцінним, необмеженим користувачем". Це майже напевно протилежне тому, що nologin
малося сказати .