【CentOS 7笔记17】,su和sudo#

shallow丿ovebash


一. su

[root@localhost ~]# su - user1
[user1@localhost ~]# pwd
    /home/user1

[root@localhost ~]# su user1
[root@localhost ~]# pwd
    /root

[root@localhost ~]# ls -la	#查看当前用户的配置文件

[root@localhost ~]# su - -c "touch /tmp/1.txt" user1
[root@localhost ~]# ls -lt /tmp/ | head	
[root@localhost ~]# id user1	#查看特定用户的的uid和所属组

若不当心误删了普通用户的配置文件,能够经过新建文件再从通用配置文件中拷贝一份,而且给配置文件赋权ssh

[root@localhost ~]# rm -rf /home/user1
[root@localhost ~]# su - user1
-bash-4.2$	#没有任何的配置文件
    Ctrl+d
[root@localhost ~]# mkdir /home/user1
[root@localhost ~]# chown user5:user5 /home/user1/

[root@localhost ~]# ls /etc/skel/	#系统模板文件
[root@localhost ~]# cp/etc/skel/.bash* /home/user1
[root@localhost ~]# chown -R user1:user1 !$    #将配置文件的全部者和全部组赋权

[root@localhost ~]# su - user1
[user1@localhost ~]# pwd
    /home/user1

二. sudo

[root@localhost ~]# visudo

    root	ALL=(ALL)	ALL	#运行root用户运行任何目录
    ser1	ALL=(ALL)	ALL或/usr/bin/ls,/usr/bin/mv,/usr/bin/cat	#ser1
    用户	主机=(用户)	全部命令,单个命令

    :set nu	#编号

使用visudo能够检测出语法是否输入错误,若在第100行处输入错误,则会提示ui

visudo: >>> /etc/sudoers: syntax error near line 100 <<<    #提示在第100行处有误
What now? 
Options are:
  (e)dit sudoers file again    #按e从新编辑
  e(x)it without saving changes to sudoers file    #按x退出,不保存修改
  (Q)uit and save changes to sudoers file (DANGER!)    #按q保存并退出!
What now?
[root@localhost ~]# ls /root/	#权限不够
[root@localhost ~]# sudo /usr/bin/ls /root/	#能够访问
    而且第一次执行时须要输入密码

    ser2	ALL=(ALL)	NOPASSWD:/usr/bin/ls,/usr/bin/cat	#添加了NOPASSWD:能够不用输入密码就能够直接操做
[root@localhost ~]# su - user2
[root@localhost ~]# ls /root/
[root@localhost ~]# sudo ls /root/

    建立一个用户,而且赋予它与root用户同样的权限

    Host_Alias
    Cmnd_Alias


    Host_Alias ???
    Cmnd_Alias USER1_CMD=/usr/bin/ls,/usr/bin/cat
    ser2	ALL=(ALL)	USER1_CMD
[root@localhost ~]# sudo ls /root/
[root@localhost ~]# sudo cat /home/1.txt


    %wheel	ALL=(ALL)	NOPASSWD:ALL	#用户组

二. sudo

使用某个用户登陆后能够直接切换到root用户,而并不须要输入密码rest

[root@localhost ~]# visudo
	#User_Aliases
	User_Alias USERS = user1,user2

	USERS	ALL=(ALL)	NOPASSWD:/usr/bin/su

[root@localhost ~]# su - user1
[user1@localhost ~]# su - user2
[user1@localhost ~]# sudo su - user2
[user2@localhost ~]# su -
	Ctrl+C
[user2@localhost ~]# sudo su -
[root@localhost ~]# whoami
	/root

限制某些用户不能使用/usr/bin/su -和/usr/bin/su - root切换到root用户下的方法code

USERS	ALL=(ALL)	NOPASSWD: !/usr/bin/su -,!/usr/bin/su - root

三. 限制远程直接登陆root

防止知道root密码后,恶意使用远程登陆主机it

[root@localhost ~]# vi /etc/ssh/sshd_sysconfig
	/Root
	# PermitRootLogin yes    #容许远程登陆root
	改
	PermitRootLogin no    #不可远程登陆root
[root@localhost ~]# systemctl restart sshd.service    #重启sshd服务
相关文章
相关标签/搜索