linux命令之su su- sudo

1. su

su redhat
执行这个命令的时候系统不读取以上两个文件,所以我们一般称它为半切换,这样切换过去之后,redhat用户使用的依旧是此前用户的环境配置信息

2. su -

su - redhat
当执行这个命令的时候表示切换到redhat用户,并且重新读取用户环境相关配置文件,具体的来说就是执行下用户家目录下.bash_profile和.bashrc文件,这个我们成为全切换

3. sudo

sudo这个命令设计初的主要目的是为了使某些用户具有特定用户的一些特殊的权限.

举例说明:
比如A,B两个人,A是技术部经理,具有公司服务器上的root权限,B技术还不够成熟,只具有一般用户权限,因为项目原因,B需要具有添加用户的权限,这个时候该怎么办呢?给B管理员权限?那安全性能得到保证吗!对,这时候sudo就派上用场了…
相比于su切换身份需要用户的密码,经常性的是需要root密码,sudo只是需要自己的密码,就可以以其他用户的身份来执行命令,经常是以root的身份执行命令,也并非所有人都可以用sudo.

sudo的执行有这样一个流程
1).当用户执行sudo时,系统于/etc/sudoers文件中查找该用户是否有执行sudo的权限;

2).若用户具有可执行sudo的权限,那么让用户输入用户自己的密码,注意这里输入的是用户自己的密码;

3).如果密码正确,变开始进行sudo后面的命令,root执行sudo是不需要输入密码的,切换到的身份与执行者身份相同的时候,也不需要输入密码

/etc/sudoers配置
/etc/sudoers内容部分截图:
红框是配置语法:
这里写图片描述

刚开始只有root能执行sudo,切换到root身份通过visudo查看/etc/sudoers这个配置文件,如果是vim /etc/sudoers是可以查看的,但是不能修改,因为 sudoers 这个文件是由语法的,只能通过visudo来修改。
第二个红色方框那行代码,这行代码是什么意思呢,第一列root不用多说,是用户账号,第二列的ALL意思是登陆者的来源主机名,第三列等号右边小括号中的ALL是代表可以切换的身份,第四列ALL是可执行的命令。

1).单个用户的sudoers语法:

如果我要我当前这个用户能执行root的所有操作,那么我只要加一行learnpython ALL=(ALL) ALL。那么如果有很多人需要执行sudo,那不是要写编写很多行啊,这样不是很麻烦,这样就要用到用户组了。

2).利用用户组处理visudo:

看看第二个红色方框那行代码,%wheel代表wheel用户组,如果我们将需要执行root所有操作的用户都加入到wheel用户组,或者我们自定义的用户组,然后添加一行代码,那么就不用一个用户一个用户的添加进来了,这样不是很省事啊。

3).限制用户sudo的权限:

但是经常我们不需要用户有那么大的权限,只要让他们具有他们负责范围的权限就可以了,比如有的有的人来管理密码,我们就只让他能进行密码的管理,而不让他有别的权限,这样就需要权限的控制了。如果我让我当前用户来管理密码,即learnpython这个用户能使用passwd这个命令来帮root修改用户密码,只要加这行learnpython ALL=(root) /usr/bin/passwd,那么learnpython这个用户就可以使用passwd这个命令了

4).通过别名设置visudo

查看sudoers这个文件的时候,你会看见User_Alias,Host_Alias和Cmnd_Alias这些东西,他们都是一些别名,User_Alias表示具有sudo权限的用户列表,就是第一列参数,Host_Alias表示主机的列表,就是第二列参数,Cmnd_Alias表示允许执行命令的列表,就是第四列参数,还有个Runas_Alias,我初始的sudoers里是没有的,这个表示用户以什么身份登录,也就是第三列参数。

所以如果有几个密码管理员的话就可以加上如下代码:

[root@localhost ~]# visudo
User_Alias PWMNG = manager1, manager2, manager3
Cmnd_Alias PWCMD = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
PWMNG    ALL=(root)    PWCMD

引用参考:
http://www.2cto.com/os/201404/294852.html

http://blog.chinaunix.net/uid-24648486-id-3031852.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值