Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6150
  • 博文数量: 1
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-20 22:36
文章分类

全部博文(1)

文章存档

2013年(1)

我的朋友

分类: LINUX

2013-12-20 09:12:07

Linux  redhat sudo常用问题及用法

---sudo用不了怎么办?

        由于笔者在平常生活中,学习Linux用的都是Ubuntu,突然被要求使用Redhat有点不是很习惯,经常遇到一些因为Linux版本不同而早在成的问题,就比如说,sudo这个简单的命令,在Ubuntu下,管理员用户创建好了,就可以很正常的的是用sudo了,但到Redhat下,就不是了,之前,一直很费解,后来终于找出了原因,因为版本的不同,导致了很多设定不不同,相信很和我一样的 Redhat菜鸟使用者,也都会遇到这个问题,下面介绍如何让用户具有使用sudo的权限。

        用不了sudo,那是因为你没有使用sudo的权限,要想使用sudo,先要切换到root用户下,然后是用visudo命令来编辑/ect下的sudoers文件,对的,用visudo,那有人就会问了,既然是一个文件,那我直接用vi/vim不就好了吗??对的,可以用vi/vim来编辑,但是一点你要是不小心,什么地方么有写正确的话,那就悲剧了,到底怎么悲剧就不说了,这就是使用visudo的好处了,visudo编辑好了sudoers后,系统会检查语法格式是否正确,要是错了的话,你肯定是无法写入的。所以啊,还是用visudo吧。

    下面的是sudoers的文件里面的部分内容:



    看到了吧,这就是sudoers文件里面的,看到root那一行了吗??就是第89行,第90行是我的用户,就不给大家看到啦!使用visudo命令后,就像和用vi一样,编辑就好了。对的,按照上面的格式复制一下就好了,怎么用vi就不用我多说了吧!你们看,他是这样写的:root      ALL=(ALL)      ALL

格式是:使用者账号  登入者的来源主机名称=(可切换的身份) 可下达的指令

那上面的四个组建都是什么意思呢,下面稍微介绍一下吧:
1. 系统的哪个账号可以使用sudo 这个指令的意思,预设为root 这个账号;
2. 当这个账号由哪部主机联机到本Linux 主机,意思是这个账号可能是由哪一部网络主机联
机过来的, 这个设定值可以指定客户端计算机(信任用户的意思)。默认值root 可来自任
何一部网络主机
3. 这个账号可以切换成什么身份来下达后续的指令,预设root 可以切换成任何人;
4. 可用该身份下达什么指令?这个指令请务必使用绝对路径撰写。预设root 可以切换任何
身份且进行任何指令之意。

 

不过,像我这样修改sudoers,会有问题的,因为我在可下达的指令那里写的是ALL,那就是说,我什么命令都能用。也就是说我连root密码都能该掉。那就会有很大问题,就会有人问了,要是我只想让部分可以使用sudo的用户只能使用部分命令,怎么办呢,嘿嘿,有办法。

下面是一个能改其他人的密码,但不能改root用户的密码的例子: 

    我们必须要限制使用者的指令参数!修改的方法为将上面改动过的改成:
myuser1 ALL=(root) !/usr/bin/passwd, /usr/bin/paswd [A-Za-z]*, !/usr/bin/passwd root
加上惊叹号『! 』代表『不可执行』的意思。因此上面这一行会变成:可以执行『passwd 任意字符』,
但是『passwd 』与『passwd root 』这两个指令例外! 如此一来myuser1 就无法改变root 的
密码了!这样这位使用者可以具有root 的能力帮助你修改其它用户的密码, 而且也不能随意改
变root 的密码!这样你就放心了吧!

 

改好后退出就好了,然后你就去见证奇迹吧!

阅读(1437) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~