Chinaunix首页 | 论坛 | 博客
  • 博客访问: 906016
  • 博文数量: 75
  • 博客积分: 1216
  • 博客等级: 少尉
  • 技术积分: 1998
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-11 16:20
个人简介

优秀是一种习惯

文章分类

全部博文(75)

文章存档

2014年(1)

2013年(29)

2012年(45)

分类: LINUX

2013-04-21 16:04:18

       sudo对大家来说都很熟悉了,可以让一个账户以其他的身份去执行某些应用程序。今天遇到的问题的是:想让tom用户管理系统账户。但是给tom账户执行useradd权限的时候,如果tom执行useradd 带-g root或者useradd -G root时会引起安全性的问题。所以需要限制一下。
       当然给passwd命令做限制很好做:

  1. tom ALL=(ALL) /usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root
    这是因为passwd后面可接的参数特别少,对于useradd命令来说,它的参数很多。这样写就不行了,比如

  1. tom ALL=(ALL) /usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,/usr/sbin/useradd [a-zA-Z]*,!/usr/sbin/useradd -G root [a-zA-Z]*
这样写的话如果执行sudo useradd -u 1000 -G root user1的话,还是可以成功的。我想了下,得匹配-G 和其他参数的任意组合才可以。经过一番测试于是这样写:

  1. tom ALL=(ALL) /usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,/usr/sbin/useradd [a-zA-Z -/]*,!/usr/sbin/useradd [a-zA-Z -/]* -G root [a-zA-Z -/]*,!/usr/sbin/useradd [a-zA-Z -/]* -g root [a-zA-Z -/]*
这里不包括数字和-g root的情况,可以根据次类似的加进去。
阅读(4753) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~