Учетная запись пользователя Centos nologin, но возможно su для учета


12

Я новичок в CentOS (работает CentOS 6). У меня есть предыдущий опыт работы с OpenSuse.

Я пытаюсь настроить учетную запись для пользователя. Я не хочу, чтобы учетная запись была доступна для входа через ssh или через экран входа в систему. Но я все еще хочу иметь возможность войти в систему с помощью команды su. Это позволяет мне запускать определенные приложения как пользователь с ограниченным доступом. Пользователь не является суперпользователем, поэтому он не может влиять на приложения других пользователей.

Любая помощь будет принята с благодарностью. Я обычно хочу использовать это для запуска сервера Glassfish и т. Д.


Итак, как вы решили это с OpenSuSE?
Нильс

Ответы:


15

На centos вы можете настроить пользователя без оболочки, используя / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Если вам нужно это сделать, используйте параметр -s и укажите в качестве аргумента выбранную вами оболочку, например:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Обратите внимание, что если вы используете bash, он сначала прочитает настройки из / etc / profile и по умолчанию установит эти настройки, если в домашнем каталоге пользователя нет .bash_profile, .bash_login или.profile. Конечно, если вы хотите использовать существующие параметры среды, которые существуют в root, вы можете просто удалить тире:

выход [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 

0

Одним из распространенных способов является установка оболочки пользователя на /bin/false


Я попытался установить его в / bin / false, но кажется, что у CentOS 6 нет этой опции. У него есть опция bin / nologin, но это не позволяет мне войти в учетную запись пользователя.

попробуйsu -m username
unbeli

Если я установлю для пользователя значение / sbin / nologin и попытаюсь выполнить su с параметром -m, это скажет, что учетная запись в данный момент недоступна. Я также попытался добавить / bin / false в файл оболочки. Когда я делаю это, команда su просто не переключается на пользователя.

хорошо, НЕ добавляйте / bin / false в файл оболочек. Установите для оболочки пользователя значение / bin / false. Используйте Су-м.
Unbeli

Я удалил его из файла / etc / shells и установил для оболочки пользователя значение / bin / false с помощью команды usermod. Если я сейчас попытаюсь ввести su -m username, это скажет, что у меня нет разрешений на .bashrc. Я вошел как root. Если я сейчас сделаю: su - username, это не выдаст мне ошибки, но я все еще вижу как root. Это нормально в Centos?

0

Обычно я ставлю «x» в поле зашифрованного пароля таких «технических» пользователей. Таким образом, у пользователя не будет никакого возможного пароля. Если в авторизованных ключах этого пользователя также есть открытый ключ, эта учетная запись должна быть довольно безопасной.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.