頑張ってるマイシェルでユーザーを切り替えるを使用します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.