背景是这样的,有个组的研发同学,原来是宿主机的服务,后来改成Docker后,需要crontab定时拉起容器内的shell,但是问题来了,容器内的用户啊,是nologin的,然后研发就束手无策了……
话说,研发就只懂自己那一亩三分地的技术,不脸红的吗?探索精神呢?
吐槽到此结束,直接说方案吧:
su -s /bin/bash -c "ls" www
上述示例,su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行。
参考资料
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。