Я новичок в CentOS (использую CentOS 6). У меня есть предыдущий опыт работы с OpenSuse.
Я пытаюсь настроить учетную запись для пользователя. Я не хочу, чтобы учетная запись была доступна для входа через ssh или через экран входа в систему. Но я все еще хочу иметь возможность входить в систему с помощью команды su. Это позволяет мне запускать определенные приложения от имени пользователя с ограниченным доступом. Пользователь не является суперпользователем, поэтому он не может влиять на приложения других пользователей.
Любая помощь будет принята с благодарностью. Обычно я хочу использовать это для запуска сервера Glassfish и т. Д.
В 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@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$
Один из распространенных способов - настроить оболочку пользователя на /bin/false
Я обычно ставлю «x» в поле зашифрованного пароля таких «технических» пользователей. Таким образом, у пользователя не будет никакого возможного пароля. Если теперь в authorized_keys этого пользователя также есть открытый ключ, эта учетная запись должна быть довольно безопасной.