su和sudo

用户授权方式

如果普通用户需要执行特殊操作,有两种方法

1:su - root,切换到root执行特殊操作,然后在返回到普通用户

2:sudo

sudo

表示 “superuser do”
sudo 命令与安全策略配合使用,默认安全策略是 sudoers
可以通过文件 /etc/sudoers 来配置
su(switch user)

优点:使用简单

缺点:

1: root密码容易泄露,通常需要的是root密码

2:普通用户可执行的操作不可控

su 跟su - 的区别

单纯的su切换到root,使用的是non-login shell,很多的环境变量可能没变
su - 这样的方式的话,是login shell方式,它是先以root身份登录然后再运行别的操作
切换到root执行一次操作,su -c 执行完毕会退出

[dev@sz-stage-maj-level1 ~]$ su
Password:   #输入root用户的密码 
[root@sz-stage-maj-level1 dev]# pwd  //路径没有变化,原用户家目录
/home/dev
[root@sz-stage-maj-level1 dev]# 
[root@sz-stage-maj-level1 dev]# echo $PATH   #原用户环境变量
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dev/.local/bin:/home/dev/bin
[root@sz-stage-maj-level1 dev]# exit         #显示为exit
exit
[dev@sz-stage-maj-level1 ~]$ su -            #root密码
Password: 
Last login: Mon May 13 11:23:54 CST 2019 on pts/0
[root@sz-stage-maj-level1 ~]# pwd            #root目录
/root
[root@sz-stage-maj-level1 ~]# echo $PATH    #root的环境变量
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@sz-stage-maj-level1 ~]# exit          #显示为logout  
logout

sudo的配置文件

  • 配置文件: /etc/sudoers

  • 格式: 用户名 主机=(切换的用户) 可执行的命令
    说明:

  • 用户名:普通用户的名称

  • 主机:可以在哪个主机上执行特定的命令

     ALL 表示任意主机
     localhost  表示当前主机
     hostName   表示具体的主机名
     x.x.x.x    表示一个IP地址(192.168.6.123)
     x.x.x.x/netmask  表示一个网段(192.168.6.0/24)
    
  • 切换的用户:切换到指定的用户来执行后面的命令,通常的都是root用户

     表示方式,有以下三种
     	(ALL)
     	(root)
     	空
    
  • 可执行的命令:用户可以执行命令

     格式:命令1,命令2,....
     补充:可以用通配符的方式
     	/sbin/*
    

举例
给yangdi7 赋权,让这个用户可以在任意主机切换到root用户执行useradd命令
yangdi7 ALL=(ALL) /usr/sbin/useradd

注意

  • 使用visudo来修改sudo配置文件,如果你修改的配置文件有错误,那么系统会提示有错,并且阻止保存
  • 修改sudo的配置文件,通常不用vi,而是用visudo命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值