首页 > 解决方案 > Gitlab-ci,图像 debian:jessie。无法使用 su 命令更改用户

问题描述

我正在使用 Gitlab-ci 处理 Debian jessie 图像。首先,我需要安装一些软件包。一切都好。然后,我想将用户从 root 更改为非 root 用户,但是 su 命令不起作用。下面是关于更改用户的测试。

我的 .gitlab-ci.yml:

image: debian:jessie

test:
    script:
    - whoami
    - adduser --disabled-password --gecos "" builder
    - su -l builder
    - whoami

我的结果:

$ whoami
root
$ adduser --disabled-password --gecos "" builder
Adding user `builder' ...
Adding new group `builder' (1000) ...
Adding new user `builder' (1000) with group `builder' ...
Creating home directory `/home/builder' ...
Copying files from `/etc/skel' ...
$ su builder
$ whoami
root

标签: debiangitlabgitlab-cisudebian-jessie

解决方案


我为自己找到了答案:

 image: debian:jessie

 test:
     script:
     - whoami
     - adduser --disabled-password --gecos "" builder
     - su -l builder
-    - whoami
+    - su builder -c "whoami"

如果提到,使用命令su <username> -c "<command>"将有助于与用户一起运行命令。<username>


推荐阅读