노력하고있어내 셸에서 사용자 전환을 사용 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
실행됩니다 . 즉, 로그인 셸로 간주되지 않으므로 실행되지 않습니다.whoami
mysql
sbin/nologin
실행하면 바로 su - mysql
다시 로그인이 되니까 호출이 되니까 실행이 되는 거죠.bodo
/sbin/nologin
whoami
bodo
이것을 실행하면 su
여러분이 보게 될 것이라고 생각했던 오류가 발생합니다.This account is currently not available.