我需要做的就是以特定用户身份运行特定脚本,该用户nologin/false在/etc/passwd.
我会以 root 身份运行脚本,这应该以另一个用户身份运行。跑步:
~# su -c "/bin/touch /tmp/test" testuser
Run Code Online (Sandbox Code Playgroud)
会工作,但我需要一个有效的测试用户外壳。我知道我可以禁用密码passwd -d testuser并将外壳保留为/bin/bash这种方式会安全一点,但我需要有nologin/false外壳。
基本上我需要的是crontab当我们将作业设置为以特定用户身份运行时会做什么,而不管这个用户是否有nologin/falseshell。
ps 我发现这个线程Executing a command as a nologin user,但我不知道如何concatenate将命令su -s /bin/sh $user发送到我需要运行的脚本。