루트로 su root
또는 su
(잘못된 비밀번호 오류가 발생 함)로 로그인 할 수 없지만 동일한 비밀번호 로 ssh root@localhost
또는 ssh root@my_local_IP
동일한 비밀번호로 로그인 할 수 있습니까?
CentOS 6.4를 사용하고 있습니다.
업데이트 1 :
cat /etc/pam.d/su
제공합니다 :
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
업데이트 2 :
$ sudo grep su /var/log/secure | grep -v sudo
제공합니다 :
Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost= user=root
약 20 회 반복했다.
답변
귀하의 의견에 따르면 /bin/su
다음과 같은 모드 / 소유자가 있다고 말했습니다 .
-rwxrwxrwx. 1 root root 30092 Jun 22 2012 /bin/su
여기에는 두 가지 문제가 있습니다.
-
항상 루트 권한으로 실행되도록 set-uid 비트를 켜야합니다. 그렇지 않으면 일반 (루트가 아닌) 사용자가이를 실행할 때 비밀번호 정보에 액세스 할
/etc/shadow
수 없으며 원하는 새 사용자에게 userid. -
그것은을 주어야한다고 대다수가 생각
group
하고other
쓰기 비트가 다른 사용자가 변경할 수 없습니다 그래서, 꺼져.
이 문제를 해결하려면 로그인으로 root
– 당신이 말한 당신이 함께 할 수있는 ssh
– 입력
chmod 4755 /bin/su
또는 대안으로
chmod u+s,g-w,o-w /bin/su
합니다 ( chmod를 표준 문서는 걸리는 인자의 종류에 대한 자세한 내용이수록.)이 운영 체제를 처음 설치했을 때의 방법에 모드 비트를 복원합니다. 이 파일을 나열하면 다음과 같아야합니다.
-rwsr-xr-x. 1 root root 30092 Jun 22 2012 /bin/su
@ G-Man이 지적했듯이 모드 777 인 파일은 신뢰할 수없는 사용자가 덮어 쓸 수 있으며,이 경우 배포 매체 나 백업에서 다시 설치해야 할 수 있습니다.
답변
1. 휠 그룹?
이는 useid가 wheel
그룹 에 없기 때문일 수 있습니다 . Red Hat 배포판에서는이 그룹에 속하지 않은 사용자가 su
명령 을 실행할 수 없도록 명시 적으로 허용하지 않을 수 있습니다 .
여기에 무엇 su
PAM 구성은 기본적으로 다음과 같습니다
$ more /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
이 행은 그룹의 su
사용자에게 명령에 대한 액세스를 제한 할 수 있습니다 wheel
.
auth required pam_wheel.so use_uid
그 소리에서 이것이 가능하며 사용자 ID는 su
명령 을 수행 할 수 없습니다 .
SSH는 다른 PAM 메커니즘을 거치므로 작동합니다. SSH에는 루트 로그인에 대한 액세스를 제한하는 자체 기능도 있습니다. 루트 로그인은 일반적으로 최소한 대부분의 Red Hat 배포판에서 기본적으로 허용됩니다 :
$ sudo grep PermitRoot /etc/ssh/sshd_config
#PermitRootLogin yes
# the setting of "PermitRootLogin without-password".
위의 내용이 주석 처리되어 있지만 기본값이며 OpenSSH가 구성의 기본 설정임을 보여줍니다.
이 작업을 하시겠습니까?
시스템이 이와 같이 구성된 경우 wheel
그룹에 사용자 이름을 추가 할 수 있습니다 .
$ useradd -G wheel saml
로그 아웃 한 후 다시 로그인 한 후 :
$ groups
saml wheel
참고 : 내 사용자 ID는 위의 “saml”입니다.
2. su에 대한 권한?
실행 파일이 루트 소유인지 확인하십시오.
$ type -a su
su is /usr/bin/su
su is /bin/su
$ ls -l /usr/bin/su /bin/su
-rwsr-xr-x. 1 root root 32064 Jan 13 06:31 /bin/su
-rwsr-xr-x. 1 root root 32064 Jan 13 06:31 /usr/bin/su
또한 실행 파일에 s
비트가 활성화되어 있는지 확인하십시오 . 이렇게하면 setuid가 만들어 져서 실행될 때 자체 루트로 실행됩니다.
3. 통나무는 무엇을 말합니까?
su -
명령 을 시도하면 시도 에 /var/log/secure
대한 항목이 표시 됩니다.
$ sudo grep su /var/log/secure | grep -v sudo
Feb 23 23:31:26 greeneggs su: pam_unix(su-l:session): session opened for user root by saml(uid=0)
Feb 24 00:27:32 greeneggs su: pam_unix(su-l:session): session closed for user root
Feb 24 01:34:12 greeneggs su: pam_unix(su-l:session): session opened for user root by saml(uid=1000)
Feb 24 01:34:26 greeneggs su: pam_unix(su-l:session): session closed for user root
추가 정보를 얻으려면이 로그를 참조하십시오.
4. 비밀번호에 문제가 없습니까?
사용하여 로그인을 시도 할 su -
때 잘못된 비밀번호를 입력하면 다음과 같은 정보가 표시됩니다.
$ su -
Password:
su: Authentication failure
$
다른 계정을 만들고이 보조 계정을 su -
성공적으로 실행할 수 있는지 확인하려고합니다 .
답변
이와 같은 오류 메시지가 표시되는 경우
su: PAM adding faulty module: /lib64/security/pam_tally.so
su: PAM unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: No such file or directory
이 단계를 수행하십시오.
ln -s /lib64/security/pam_tally2.so /lib64/security/pam_tally.so
그런 다음 su를 시도하십시오. 작동해야합니다.