一、附加组和基本组
1. 基本组(私有组),建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组
命令:newgrp wheel
2. 附加组(公有组),可以容纳多个用户,组中的用户都具有所拥有的权力
二、sudo
su:switch user
用户切换
(1) su -l user
(2) su -l user -c 'COMMAND'
sudo:
能够让获得授权的用户以另外一个用户的身份运行指定的命令;
授权机制:授权文件 /etc/sudoers
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
编译此文件的专用命令:visudo
授权项:
who where=(whom) commands
users hosts=(runas) commands
users:
username
#uid
%groupname
%#gid
user_alias
支持将多个用户定义为一组用户,称之为用户别名,即user_alias;hosts:
ip
hostname
NetAddr
host_alias
runas:
...
runas_alias
commands:
command
directory
sudoedit:特殊权限,可用于向其它用户授予sudo权限;
cmnd_alias
定义别名的方法:
ALIAS_TYPE NAME=item1, item2, item3, ...
NAME:别名名称,必须使用全大写字符;
ALIAS_TYPE:
User_Alias
Host_Alias
Runas_Alias
Cmnd_Alias
例如:
User_Alias NETADMIN=tom, jerry
Cmnd_Alias NETCMND=ip, ifconfig, route
NETADMIN localhost=(root) NETCMND
sudo命令:
检票机制:能记录成功认证结果一段时间,默认为5分钟;
以sudo的方式来运行指定的命令;
sudo [options] COMMAND
-l[l] command 列出用户能执行的命令
-k 清除此前缓存用户成功认证结果;
/etc/sudoers应用示例:
Cmnd_Alias USERADMINCMNDS = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-z]*, !/usr/bin/passwd rootUser_Alias USERADMIN = bob, alice
USERADMIN ALL=(root) USERADMINCMNDS
常用标签:
NOPASSWD:
PASSWD:
总结
sudo 用来执行需要提升权限(通常是作为 root 用户)的命令。在这篇文章之前的简介部分已经讨论过这样的一个例子。然而,如果你想的话,你能用sudo 以其它(非 root )用户运行命令。