做为GPU服务器管理员,当其他用户需要执行某个要root权限的命令时,除了告诉他们root密码,还有没有别的办法?
程序员文章站
2022-11-07 18:36:59
通常一台GPU服务器(这里指linux系统)不可能只有一个帐号能用的,比如当其他用户想要在GPU服务器上安装一些软件的时候,会需要用到apt\ get命令,但是apt\ get命令需要root用户的操作权限,如果GPU服务器由你管理,那么你如何在不直接给root密码的情况下,让其他用户可以执行该命令 ......
通常一台gpu服务器(这里指linux系统)不可能只有一个帐号能用的,比如当其他用户想要在gpu服务器上安装一些软件的时候,会需要用到apt-get命令,但是apt-get命令需要root用户的操作权限,如果gpu服务器由你管理,那么你如何在不直接给root密码的情况下,让其他用户可以执行该命令呢?
可以使用sudo命令,sudo命令就是为了让普通用户可以在不知道root密码的情况下使用root的操作权限。
sudo apt-get xxx
但是,你会发现这样执行会提示用户没有sudo的权限,所以我们需要先简单配置一下。
首先,使用root用户登录gpu服务器,执行如下命令来编辑/etc/sudoers配置文件:
visudo
然后会打开sudoers文件,如下:
如上图,就是在root所在行的下方,再加入一行,比如这里你要授予sudo使用权限的用户的名字是txzf,all表示允许任何连接到本服务器的host主机使用sudo,(root)表示只允许使用sudo切换到root用户,而不能切换到其他用户, 最后的apt-get命令文件的路径表示只允许使用sudo命令授予当前用户在apt-get命令下的root权限,也就是说sudo apt-get 你是满足要有root权限的要求的,但是sudo 其他命令就还是不满足的。
需要注意的是,有的人会简单粗暴的直接写成如下形式:
txzf all=(all) all
这表示允许通过sudo切换到任何用户,并且如果是切换到root后,执行的任何命令都将拥有root权限,这是有很大风险的。
配置好之后,ctrl+o,然后敲一下回车保存,然后ctrl+x退出编辑页面即可。
ok,本篇就这么多内容啦~,感谢阅读o(∩_∩)o。
本博客内容来自公众号“程序员一一涤生”,欢迎扫码关注 o(∩_∩)o