linux系统中su与sudo的用法

一般我们都会建议不要直接使用root账号登陆服务器,建议使用普通账号来登陆,等到必须使用root用户来操作时,才进行身份切换。下面,就来讲讲两个身份切换的命令su与sudo。

范县网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

su

su命令用于从当前用户切换到新的用户,切换到新用户身份时,需要输入切换用户的密码。

一般用法:su - 用户名

-或-l:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;

下面来演示该命令的用法:

$ id # 当前用户是admin
uid=1005(admin) gid=1006(admin) groups=1006(admin)
$ su - # 不输入用户名则表示切换到root用户
Password: <===输入root用户的密码

sudo

使用su来切换用户需要输入新用户的密码,我们不可能把root密码随意给其他人。使用sudo可以来解决这个问题,下面我们来介绍sudo。

对比su需要知道新切换的用户密码(往往是root用户密码),sudo的执行只要输入自己的密码即可。甚至可以设置为不用密码都行。想要用好sudo,那么就需要掌握/etc/sudoers这个配置文件。但这个文件是不能用vim或来修改,他需要用指定的命令,visudo来修改。

下面展示sudo的用法:

sudo [选项] 命令

-b:将后续命令反正后台运行

-u:指定用户运行后续命令

sh -c执行多条命令

[root@bajiecxg tmp]# sudo -u gwx touch a.txt
[root@bajiecxg tmp]# ll a.txt 
-rw-r--r-- 1 gwx gwx 0 10月 29 17:49 a.txt
# 使用sh -c执行多条命令
[root@bajiecxg tmp]# sudo -u gwx sh -c "mkdir gwx;cd gwx;\\
touch 1.txt"
[root@bajiecxg tmp]# ll gwx/
总用量 0
-rw-r--r-- 1 gwx gwx 0 10月 29 17:53 1.txt

下面我们来看看/etc/sudoers这个文件,基本配置格式如下

root    ALL=(ALL)   ALL

使用者账号 登录者来源主机=可切换的用户身份 可执行的命令

上面的意思死root用户可以从任意主机登录,能够切换任意的身份,能够执行任意的命令

现在,我们想添加一个用户admin,让他也能执行任意命令,那么,我们就需要使用visodu命令新增一行,如下:

admin ALL=(ALL) ALL

那如果我们有多个运维管理者,他们都需要能够使用sudo来执行任意命令,那么就需要添加多条配置。那有没有一种简便的方法呢?有的,只要我们把用户加入到wheel这个组就可以了。那么为什么加入到这个组就行了呢?看下/etc/sudoers,大概在99行:

%wheel  ALL=(ALL)   ALL

我们还可以让用户使用sudo时候,不需要使用密码即可执行命令

%wheel    ALL=(ALL)   NOPASSWD: ALL
# 属于wheel这个组的用户执行sudo命令时,不需要输入密码


还可以赋予用户有限的命令权限,让用户只能执行几个命令

admin ALL=(ALL) /usr/bin/ls,/usr/bin/cd

除此之外,sudo还有许多其他的用法,比如用户别名、命令别名等等,有兴趣的童鞋可以自行查阅相关信息。

分享文章:linux系统中su与sudo的用法
URL地址:https://www.cdcxhl.com/article8/chdgip.html

成都网站建设公司_创新互联,为您提供网站设计公司网站维护云服务器电子商务服务器托管用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发