사용자 명령을 전환한 후 동일한 사용자(su - mysql --> whoami 'old_user'), 이유는 무엇입니까?

사용자 명령을 전환한 후 동일한 사용자(su - mysql --> whoami 'old_user'), 이유는 무엇입니까?

노력하고있어내 셸에서 사용자 전환을 사용 su - [user]하지만 사용자는 여전히 이전 사용자인 것 같습니다.

# this works pretty well
bodo@bodo-work:~$ sudo -u mysql whoami
[sudo] password for bodo: 
mysql

# but not this
bodo@bodo-work:~$ whoami
bodo
bodo@bodo-work:~$ su - mysql
Password:

# still having 'bodo' as user seems to be wrong here 
bodo@bodo-work:~$ whoami
bodo # what?

다음과 같은 오류 메시지가 없습니다.홈 디렉토리를 찾을 수 없습니다. 내가 여기서 뭘 잘못하고 있는 걸까? 정의된 사용자 홈 디렉터리mysql그것에 속한다:

sudo ls -lah /var/lib/mysql
total 215M
drwx------  7 mysql mysql 4,0K Feb 10 14:30  .
# [...]

답변1

그렇게 하면 grep mysql /etc/passwd쉘이 설정되었음을 알게 될 것입니다 /sbin/nologin. 실행하면 이 문제가 해결되고 로 sudo실행됩니다 . 즉, 로그인 셸로 간주되지 않으므로 실행되지 않습니다.whoamimysqlsbin/nologin

실행하면 바로 su - mysql다시 로그인이 되니까 호출이 되니까 실행이 되는 거죠.bodo/sbin/nologinwhoamibodo

이것을 실행하면 su여러분이 보게 될 것이라고 생각했던 오류가 발생합니다.This account is currently not available.

관련 정보