sudo su는 mysql의 사용자를 변경하지 않습니다.


13

지난 밤, 내 서버에서 다음을 수행했습니다.

sudo su - mysql 

mysql 사용자로 변경하여 mysql 클라이언트를 실행할 수 있습니다. mysql 클라이언트는 mysql 계정에서만 인증되도록 설정되어 있습니다. mysql 클라이언트를 성공적으로 실행하고 데이터베이스를 변경했습니다. 밤새 서버에서 변경된 것이 없습니다.

오늘은 시도하지 않아도 mysql 사용자로 변경할 수 있습니다. 홈 디렉토리가 없다는 메시지가 있지만 성공한 것으로 보이지만 whoami여전히 내 사용자 ID를보고 mysql을 실행하려고 시도하면 여전히 실패합니다.

wade@snoopy:~$ sudo su - mysql
[sudo] password for wade: 
No directory, logging in with HOME=/
wade@snoopy:~$ whoami
wade

wade@snoopy:~$ sudo su mysql
wade@snoopy:~$ whoami
wade

wwilliam@snoopy:~$ sudo -s
root@snoopy:/home/wade# 
root@snoopy:/home/wade# su mysql
root@snoopy:/home/wade# whoami
root

mysql의 경우 / etc / passwd :

mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false

이런 행동을 본 사람이 있습니까?

답변:


19

su에 주어진 다른 사용자의 로그인 쉘을 호출합니다 /etc/passwd. 귀하의 경우에는 /bin/false대화 형 쉘을 얻지 못합니다.

사용하다

sudo -u test /bin/bash

또는

sudo -u test /usr/bin/mysql

또는 그와 비슷한 것.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.