注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

linux下进程权限管理相关技术知识  

2014-04-19 07:48:57|  分类: linux工具命令 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、关于visudo的使用案例()

# visudo

## 注释掉 Defaults requiretty

## 加入以下两行。

Defaults !lecture

backuppc ALL=NOPASSWD:/bin/gtar,/bin/tar

#上句表示"ALL=NOPASSWD":此backuppc用户可以以特权(管理员身份)无密码方式运行后面 gtar与tar命令。

又如:test  ALL=(root) /usr/sbin/useradd

表示允许test用户从任何主机登录,以root的身份执行/usr/sbin/useradd命令。

*************************************************

附:visudo的使用说明

*************************************************

visudo精确用户赋权

sudo” Unix/Linux平台上的一个非常有用的工具,允许为非根用户赋予一些合理的“权利”,让他们执行一些只有根用户或特许用户才能完成的任务,从而减少根用户的登陆次数和管理时间同时也提高了系统安全性。visudo即专门用于配置/etc/sudoers的工具。

sudo的目的:为非根用户授予根用户的权限;

配置文件:/etc/sudoers

visudo命令编辑修改/etc/sudoers配置文件


1、一般用户赋权设置:

[root@localhost ~]# visudo

……前面省略

69 ## Syntax:

70 ##

71 ## user MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root ALL=(ALL) ALL

77 test ALL=(root) /usr/sbin/useradd //新增加用户行

……后面省略


语法说明:

第一个字段:root为能使用sudo命令的用户;

第二个字段:第一个ALL为允许使用sudo的主机,第二个括号里的ALL为使用sudo后以什么身份(目的用户身份)来执行命令;

第三个字:ALL为以sudo命令允许执行的命令;

上列解释: test ALL=(root) /usr/sbin/useradd

表示允许test用户从任何主机登录,以root的身份执行/usr/sbin/useradd命令。


用户执行命令效果:

[root@server ~]# su - redhat

[redhat@server ~]$ sudo /usr/sbin/useradd test

//命令需要输入完整的路径

口令: //这里输入用户redhat自己的密码

[redhat@server ~]$ cat /etc/passwd |tail -5

xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

gdm:x:42:42::/var/gdm:/sbin/nologin

sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin

redhat:x:500:500::/home/redhat:/bin/bash

test:x:501:501::/home/test:/bin/bash //新增加的用户

2sudo配置深入:

1)多个用户的设置(非同一群组用户):

对于不同需求的用户:可以按照上面的方法依次增加多行,每行对应一个用户。

对于相同需求的多个用户

User_Alias UUU=user1,user2…… 定义用户别名;

[root@localhost ~]# visudo

……前面省略

16 ## User Aliases

17 ## These aren't often necessary, as you can use regular groups

18 ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname

19 ## rather than USERALIAS

20 # User_Alias ADMINS = jsmith, mikem //这个就是一个实例行,按照这个写自己的

21 User_Alisa sudouser=user1,user2,user3,user4 //第一一个别名suduouser

……后面省略

69 ## Syntax:

70 ##

71 ## user MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root ALL=(ALL) ALL

77 sudouser ALL=(root) /usr/sbin/useradd ////命令行书写格式,用户列用别名

……后面省略

对于多个命令的设置:

Cmnd_Alias CCC=command1,command2…… 定义命令别名;

[root@localhost ~]# visudo

……前面省略

23 ## Command Aliases

24 ## These are groups of related commands...

25

26 ## Networking

27 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dh client, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool //多个命令定义一个命令别名;

……后面省略

69 ## Syntax:

70 ##

71 ## user MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root ALL=(ALL) ALL77 sudouser ALL=(root) NETWORKING //命令行书写格式,命令列用别名

……后面省略


对于多主机的设置和多登陆角色的设置:

修改 Host_Alias HHH=host1,host2…… 定义主机别名;

修改后对应的命令行主机列位置也是用别名

Runas_Alias RRR=role1,role2…… 定义runas别名,指定的是“目的用户”,即sudo 允许转换至的用户;

建立相关别明后,相关命令行相应的列也是用我们定义的别名。

2)多个用户的设置(同一群组用户):


[root@localhost ~]# visudo

……前面省略

81

82## Allows people in group wheel to run all commands

83# %wheel ALL=(ALL) ALL      //用户列%+群组名

……后面省略

84# %accounts ALL=(root) /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod
上句表示:凡属于accounts群的用户均可以从各地主机来以root身份运行兵后面的各种命令.

  评论这张
 
阅读(115)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017