2013-11-04 5 views
0

내 RHEL6 서버에 데이터베이스 사용자를 갖고 싶습니다. DB 사용자는 DB 사용자 일 뿐이므로 해당 사용자가 쉘에 로그인하지 못하게해야합니다. 나는 사용자를 nologin으로 정의 할 수 있지만이 방법으로 사용자는 자신의 비밀번호를 변경할 수 없다는 것을 안다.사용자가 로그인하지 못하도록 어떻게 암호를 변경할 수 있습니까?

그럼 어떻게하면 사용자가 로그인 할 수 없으며 동시에 비밀번호를 변경할 수 있습니까?

답변

0

나는 그것을하는 빠르고 더러운 방법을 알아 냈다. 먼저 사용자는 로그인 할 권한이 있어야합니다. 다음, 실행이 명령 :

$ sudo useradd -m -d /home/username -s /bin/bash -c "login is forbidden for this user" username -N -g users 
$ chown root:users /home/username 
$ chmod 555 /home/username 
$ echo "trap '' 2" >> /home/username/.bash_profile 
$ echo "passwd" >> /home/username/.bash_profile 
$ echo "logout" >> /home/username/.bash_profile 
$ passwd username 

이제 사용자의 사용자 이름은 '암호를 변경 로그인 할 수 있습니다. 그런 다음 암호를 변경 한 직후에 로그 아웃합니다. 비밀번호를 변경하는 것 외에는 아무 것도 할 수 없습니다. CTRL + C도 차단됩니다.

+1

사용자가'ssh rm -f .bash_profile'을 호출하면 어떻게 될까요? 내 이해는 bash는이 경우'.bash_profile'을 호출하지 않는다는 것입니다. –

+0

보안 구멍을 밝혀 줘서 고맙습니다 :) 수정이 필요합니다. –

+0

감사합니다 @ MaximYegorushkin, 이제는 더 안전합니다. –

1

IPA을 사용하면 중앙 집중식 사용자 관리가 가능합니다. 그것은 사용자가 로그인 할 수없는 경우에도 암호를 변경할 수 있습니다.

관련 문제