linux sudo学习

一般使用者管理系统的方式是利用 su 切换为超级使用者。但是使用 su 的缺点之一在于必须
要先告知超级使用者的密码.sudo 使一般使用者不需要知道超级使用者的密码即可获得权限。
首先超级使用者将一般使用者登记在特殊的档案中(通常是/etc/sudoers),即完成对该使用
者的授权(此时该使用者称为“sudoer”);在一般使用者需要取得特殊权限时,其可在命令
前加上“sudo”,此时 sudo 将会询问该使用者自己的密码(以确认终端机前的是该使用者本
人),回答后系统即会将该命令的进程以超级使用者的权限执行。


不用root用户进行ssh登录,登录之后使用su切换用户


su 的问题
1。输入密码
2。完全拥有相关 su 的权限
sudo
1。不输入别人的密码
2。需要授权


[user1@localhost ~]$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:30:C1:B6
inet addr:192.168.126.128 Bcast:192.168.126.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe30:c1b6/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:226 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25147 (24.5 KiB) TX bytes:19250 (18.7 KiB)
Interrupt:67 Base address:0x2024


[user1@localhost ~]$ /sbin/ifconfig eth0:1 192.168.1.1
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied




[root@localhost ~]# vim /etc/sudoers
user1 ALL=/sbin/ifconfig

[user1@localhost ~]$ sudo /sbin/ifconfig eth0:1 192.168.1.1
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect
#2) Think before you type.
#3) With great power comes great responsibility.



[sudo] password for user1:

[user1@localhost ~]$ /sbin/ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:30:C1:B6
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:67 Base address:0x2024

visudo 可以检查语法
vim /etc/sudoers
user MACHINE=COMMANDS
user1 ALL= NETWORKING
user2 ALL=(root) NOPASSWD:/bin/mount (NOPASSWD 必须第四段 ALL=(root))
• user2 用户名字
• ALL=(root) 主机=(转换成什么身份)
• NOPASSWD:/sbin/fdisk, PASSWD:/sbin/mkfs.ext3
• 不要口令:命令,要口令:命令
工作中: user1 ALL=(root) NOPASSWD:ALL


首先需要配置一些Alias,这样在下面配置权限时,会方便一些,不用写大段大段的配置。Alias主要分成4种
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
1) 配置Host_Alias:就是主机的列表
Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行的命令的列表,命令前加上!表示不能执行此命令.
命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患 ,因此使用的时候也是使用绝对路径!
Cmnd_Alias COMMAND_FLAG = command1, command2, command3 ,!command4
3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG


配置格式如下:
# Host alias specification
Host_Alias EPG = 192.168.1.1, 192.168.1.2
# User alias specification
# Cmnd alias specification
Cmnd_Alias SQUID = /opt/vtbin/squid_refresh, !/sbin/service, /bin/rm
Cmnd_Alias ADMPW = /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd, !/usr/bin/passwd root
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
support EPG=(ALL) NOPASSWD: SQUID
support EPG=(ALL) NOPASSWD: ADMPW

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值