Centos 사용자 계정은 로그인하지 않았지만 계정에 로그인 할 수 있음 경험이 있습니다. 사용자 계정을 설정하려고합니다.

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에 공개 키가있는 경우 해당 계정은 매우 안전해야합니다.


답변