sudo可以定义一个没有管理员的身份的用户,拥有管理员的特定权限(由管理员定义你的管理权限)
/etc/sudoers定义在这个文件里面的用户表示此用户可以以某个命令来使用管理员的身份来执行。它的格式为:
谁 可以在哪个主机上(以谁的身份) 运行什么命令
gentoo ALL=(root) /usr/sbin/useradd //此时的命令要使用which查看路径之后,以路径的形式才能使用
使用visudo特有的命令来编辑这个文件、
管理员权限下
which useradd
/usr/sbin/useradd //查看命令路径
visudo
gentoo ALL=(root) /usr/sbin/useradd (小括号里面默认是root用户可以不写)
保存退出
给gentoo用户添加密码,在gentoo用户下使用sudo命令会要求输入用户密码
passwd gentoo
su - gentoo //切换到gentoo用户下
在gentoo用户下添加redhat
sudo /usr/sbin/useradd redhat
输入gentoo的密码
此时使用tail /etc/passwd 就可以查看你是否建立成功了。
User Alias定义组别名(USERADMIN组名必须用大写字母)如:
User Alias USERADMIN = gentoo, centos, suse, %myqrp, USERS
此时定义USERADMIN这个组中有三个成员,这时候对这个组进行控制,就可以间接对这三个用户进行控制。
%mygrp 表示这个是系统中的组,使用%来调用。这个组中的所有成员都包含在USERADMIN里面
USERS 表示可以使用另外一个定义过的组。如我在上面定义了一个组。而这里想包含上面组的所有成员..
所以这里定义的组中可以包含,用户,系统组,其它已经定义好的用户别名
定义主机列表
1.可以使用主机名称,可以使用ip地址,可以使用网络地址 和其它主机名
举例:
Host_Alias LOCALNET=192.168.0.0/24 127.0.0.0/8
...............
sudo -l查看自己可以通过sudo执行的命令
sudo -u指定以哪个身份来执行命令
sudo -S通过标准输入接收命令,比如管道,ercho
sudo -b在后台执行sudo命令