- 本文地址: https://www.yangdx.com/2021/01/177.html
- 转载请注明出处
平时习惯这样进入 php-fpm 容器:
$ docker exec -it php-fpm bash
进去以后,默认是 root 帐号。
现在有些指令想用 www-data 帐号来执行,切换 www-data 帐号时却提示该帐号未启用:
$ su www-data
This account is currently not available.
因为 www-data 帐号的 shell 是 /usr/sbin/nologin,即禁止登录。
这个很好解决,在容器中把 /etc/passwd 中 www-data 帐号的 shell 改成 /bin/bash 就可以了。
还有另一种便捷的方法,不需要修改任何配置,进入容器时使用 -u 参数来指定帐号:
$ docker exec -it -u www-data php-fpm bash
以此类推,不进入容器,直接以 www-data 帐号身份执行某些指令:
$ docker exec -u www-data php-fpm bash -c "cd /var/www/xxx && php artisan demo"
杨大侠的车还在吗?
博主回复:
放着半年不骑,发霉了!