debian - 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
解决方案
我为自己找到了答案:
image: debian:jessie
test:
script:
- whoami
- adduser --disabled-password --gecos "" builder
- su -l builder
- - whoami
+ - su builder -c "whoami"
如果提到,使用命令su <username> -c "<command>"
将有助于与用户一起运行命令。<username>
推荐阅读
- google-app-maker - Google App Maker 如何允许没有 Gsuite 的用户访问您的应用实例
- angular6 - Angular 6 mat-form-field with mat-select 不选择任何值
- gemfile - 加载“postgresql”Active Record 适配器时出错。缺少它所依赖的宝石?pg 不是捆绑包的一部分。将其添加到您的 Gemfile
- 2sxc - 将 2sxc 从 9.32 降级到 9.14
- php - 如何将值插入数据库中的特定行
- javascript - 媒体捕获和屏幕键盘之间的 Javascript 冲突
- python - 在 .txt 文件中包含值的循环内循环
- python-3.x - 使用任何其他安装程序交付 Python 可执行文件
- google-app-engine - 如何从 Google App Engine (Python) 调用 Google Talent Solution api
- android - java.lang.IllegalArgumentException:未知权限:com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE