允许无密码用户更改为另一个无密码用户

Nif*_*fle 8 security users su sudo not-root-user

我有两个用户devtomcat他们都不有密码。

我怎样才能允许dev 1su - tomcat而无需他输入任何凭据?

1与 ssh 密钥文件连接

Gil*_*il' 11

如果您想要的是允许dev以 方式运行任意命令tomcat,那么不要理会su,坚持使用 sudo。将以下行添加到sudoers文件中(使用visudo命令):

dev ALL = (tomcat) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

运行sudo -iu tomcat在用户dev运行一个登录shell作为tomcat


Nif*_*fle 7

这就是我最终这样做的方式。

我创建了文件 /etc/sudoers.d/dev

包含:

# allow user dev to become user tomcat
# invoked with [dev@host ~]$ sudo su - tomcat
dev ALL = (root) NOPASSWD: /bin/su - tomcat
Run Code Online (Sandbox Code Playgroud)

更改了文件权限 chmod 0440 /etc/sudoers.d/dev

在 dev 中创建了一个别名 .bashrc alias tomcat='sudo su - tomcat'

这导致 dev 用户能够成为 tomcat 用户,而无需通过tomcat在命令行中输入来输入(或确实拥有)密码。


Jen*_*y D 6

您已将 sudo 添加到您的标签中。在您的 sudoers 文件中,您可以将 dev 添加到允许的用户中,并且如果您愿意,可以限制允许他们运行哪些命令,并且不需要该密码。然后他们所要做的就是输入“sudo su - tomcat”。

运行visudo以添加以下行:

dev ALL = NOPASSWD: /usr/bin/su - tomcat
Run Code Online (Sandbox Code Playgroud)

sudoers 的 man 文件中有更多信息和示例。