/etc/shells — файл разрешённых оболочек для входа пользователя в систему linux

При создании нового пользователя в Debian (или другой linux-системе) можно задать ему разные системные оболочки, которые будут обслуживать его при правильном вводе логина и пароля в системе. Для этого нужно её указать в шаблоне создания пользователя или ввести явно при создании нового пользователя командой useradd -s (см. подробнее по первой ссылке в этой статье). Всё это хорошо, но некоторые системные оболочки не прописаны в системе и для того, чтобы ими можно было пользоваться, для начала их нужно занести в систему.

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



/etc/shells — файл разрешённых оболочек для входа пользователя в операционную систему Debian

Итак, например, вы создаёте ftp-пользователя, которому не обязательно иметь shell-доступ в систему и прописываете ему оболочку /bin/false так, чтобы он мог пользоваться только командами fto-протокола, но не мог ничего больше на сервере. Но при попытке зайти на сервер вылетает ошибка. Заходим в логи ftp-сервера и видим запись:

FTP session opened.
USER tester (Login failed): Invalid shell: '/bin/false'

То есть система не может распознать shell-оболочку и рвёт соединение с пользователем.

Список всех разрешённых в системе shell-оболочек находится в файле /etc/shells.

Исходный /etc/shells

Посмотрим содержимое файла /etc/shells:

root@server:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

Действительно, оболочки /bin/false, и теперь не удивительно, что сервер не даёт пользователю с этим shell зайти в систему.

Добавление новой shell-оболочки в системный файл /etc/shells

Найдя причину ошибки, исправить её не составит труда. Либо ручками, либо командой в консоли:

root@server:~# echo '/bin/false' >> /etc/shells

добавим ещё одну shell-оболочку /bin/false.

Резюме

В конечном итоге, когда файл /etc/shells выглядит так:

root@serber:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/false

(см.последнюю строчку), пользователь нормально входит в систему и может работать в ней по протоколу ftp, пользуясь тем набором команд, который позволет ему его клиент и ваш ftp-сервер. Ура!

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню