为何docker里su到mysql居然无效

我docker的启动容器脚本是这样:
`docker run -itd --name my-new -v /mydir:/mydir -v /etc/localtime:/etc/localtime -v /filesys:/filesys --net=host --privileged=true docker.io/centos /sbin/init
`

通过mysql官方rpm安装的mysql8.0.22。
安装完成后,默认会给系统创建一个mysql组和一个mysql的用户。
经确认,确实是有mysql这个用户:
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false

然后,我通过su mysql,想切换到这个用户,发现,切换后,依然是原来的用户。。。。

这是什么玄学问题?是不是docker里要特殊操作?

阅读 1.9k
1 个回答

知道了,原来/bin/false表示该用户不能登录,
用这个命令usermod -s /bin/bash mysql更换用户权限就可以。

mysql的官方真是恶搞,通过rpm安装的,默认不允许mysql用户登录。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题