常用命令:su / sudo

来源:互联网 发布:新网域名查询 编辑:程序博客网 时间:2024/03/28 18:29

3周第3次课(11月1日)
3.7 su命令
su是最简单的身份切换名,用su我们可以进行任何用户的切换,一般都是su - username,然后输入密码就ok了,但是root用su切换到其他身份的时候是不需要输入密码的

su - username #加上- 会切换到家目录who am i #查看当前用户su - -c "touch 123/txt"  wwuser #用wwuser身份去执行touch命令

这里写图片描述
切换成功后前面显示这样是正常的,是因为有下面三个隐藏文件。如果家目录下没有这三个文件需要在ls -la /etc/skel/ 目录cp一份过来
这里写图片描述
普通用户是$,root用户是#

su和su-区别
这里写图片描述

3.8 sudo命令
让普通用户以指定用户的身份临时执行命令,避免给root用户密码给其他人。

sudo的执行有这样一个流程:
1).当用户执行sudo时,系统于/etc/sudoers文件中查找该用户是否有执行sudo的权限;
2).若用户具有可执行sudo的权限,那么让用户输入用户自己的密码,注意这里输入的是用户自己的密码;
3).如果密码正确,变开始进行sudo后面的命令,root执行sudo是不需要输入密码的,切换到的身份与执行者身份相同的时候,也不需要输入密码。

用法:sudo ls(/usr/bin/ls) /root/
在vi下:
set nu #显示行号
输入yy可以复制光标行,按p就能粘贴
这里写图片描述

#打开看sudo的配置文件。不要随意修改。实际上是打开的/etc/sudoers.tmp文件visudo root ALL=(ALL)  ALL #在92行核心配置,在下面添加一行#ww用户  ALL(主机)=(root)授予任何用户包括root用户身份 (usr/sbin/ls,usr/bin/mv,需要绝对路径) #所有命令ww ALL=(root)  ALL

这里写图片描述
第一列root不用多说,是用户账号,第二列的ALL意思是登陆者的来源主机名,第三列等号右边小括号中的ALL是代表可以切换的身份,第四列ALL是可执行的命令。

设置ww这个用户的ls和mv拥有root权限
这里写图片描述
正常的ls是提示没有权限的。但是用sudo 加绝对路径就可以查看
这里写图片描述

提示输入ww用户的密码
这里写图片描述
第一次需要密码。第二次就不需要密码了
这里写图片描述
在前面加上NOPASSWD 就能免输密码了
这里写图片描述

可以设置命令别名组
Cmnd_Alias = WW_CMD= /usr/bin/ls,/usr/bin/cat
这里写图片描述

取消程序某类程序的执行,要在命令动作前面加上!号; 在本例中也出现了通配符的*的用法;
  beinan ALL=/usr/sbin/,/sbin/,!/usr/sbin/fdisk 注:把这行规则加入到/etc/sudoers中;但您得有beinan这个用户组,并且beinan也是这个组中的才行;
  本规则表示beinan用户在所有可能存在的主机名的主机上运行/usr/sbin和/sbin下所有的程序,但fdisk 程序除外;

3.9 限制root远程登录

#设置用户组User_Alias AMINGS = ww,user2  #设置用户组su命令AMINGS ALL=(ALL) NOPASSWD: /usr/bin/su  #切换到root用户sudo su -  #修改配置vi /etc/ssh/ssd_config   #修改为no。不允许登录PermitRootLogin no     #重启服务systemctl restart ssh/service 
原创粉丝点击