[root@study ~]#
visudo
<==
同
样
的,
请
使用
root
先
设
定
....(
前面省略
)....
%wheel ALL=(ALL) NOPASSWD: ALL
<==
大
约
在
109
行左右,
请½
#
拿掉!
#
在最左
边
加上
%
,代表后面½的是一
个
『群
组
』之意!改完
请储
存后离
开
重点是那个
NOPASSWD
啦!该关键词是免除密码输入的意思喔!
o
III.
有限制的指令操作:
上面两点都会让使用者能够利用
root
的身份½行任何事情!这样总是不太好~如果我想要让用户
½能够½行部分系统任务,
比方说,系统上面的
myuser1
½能够帮
root
修改其他用户的密码时,
亦即『当使用者½能使用
passwd
这个指令帮忙
root
修改其他用户的密码』时,你该如何撰写呢?
可以这样做:
[root@study ~]#
visudo
<==
注意是
root
身份
myuser1 ALL=(root) /usr/bin/passwd
<==
最后指令
务
必用
绝对
路
径
上面的设定值指的是『
myuser1
可以切换成为
root
使用
passwd
这个指令』的意思。其中要注意
的是:
指令字段必须要填写绝对路径
才行!否则
visudo
会出现语法错误的状况发生!
此外,上
面的设定是有问题的!我们使用底下的指令操作来让您了½:
[myuser1@study ~]$
sudo
passwd myuser3
<==
注意,身份是
myuser1
[sudo] password for myuser1:
<==
输
入
myuser1
的密
码
Changing password for user myuser3.
<==
底下改的是
myuser3
的密
码
喔!
这样
是正确的
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[myuser1@study ~]$
sudo passwd
Changing password for user root.
<==
见
鬼!怎么
会
去改
root
的密
码
?
恐怖啊!我们竟然让
root
的密码被
myuser1
给改变了!下次
root
回来竟无法登入系统
...
欲哭无
泪~怎办?
所以我们必须要限制用户的指令参数!修改的方法为½上述的那行改一改先:
[root@study ~]#
visudo
<==
注意是
root
身份
myuser1
ALL=(root)
!/usr/bin/passwd, /usr/bin/passwd [A
-
Za
-
z]*, !/usr/bin/passwd root
在设定值中加上惊叹号『
!
』代表『不可执行』的意思。因此上面这一行会变成:可以执行『
passwd
任意字符』,但是『
passwd
』与『
passwd root
』这两个指令例外!
如此一来
myuser1
就无法
改变
root
的密码了!这样这位使用者可以具有
root
的能力帮助你修改其他用户的密码,
而且也
不能随意改变
root
的密码!很有用处的!
o
IV.
透过别名½置
visudo
:
如上述第三点,如果我有
15
个用户需要加入刚刚的管理员行列,那么我是否要½上述那长长的
设定写入
15
行啊?
而且如果想要修改命令或者是新增命令时,那我每行都需要重新设定,很麻