Linux用户组管理及用户权限3
用户、组管理命令
安全上下文:
进程以其发起者的身份运行:
进程对文件的访问权限,取决于发此进程的用户的权限
系统用户:为了能够让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统
groupadd:添加组
groupadd [options] groupname
-g GID:指定GID,默认是上一个组的GID+1
-r:创建系统组
groupmod命令:修改组属性
groupmod [options] GROUP
-g GID:修改组ID
-n NEW_GROUP:修改组名
groupdel命令:删除组
useradd:创建用户,更新默认新用户信息
useradd [options] LOGIN
-u, --uid UID 指定UID
-g, --gid GROUP 指定基本GID,此组得事先存在
-G,--groups GROUP1[,GROUP2,...[,GROUPN]]] 指明用户所属的附加组,多个组之间用逗号隔开
-c, --comment COMMENT 指明注释信息
-d, --home-dir HOME_DIR 以指定的路径为该用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
-s, --shell SHELL 指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
-r, --system 创建系统用户
-M, --no-create-home 不为用户创建主目录
注意:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd -D:显示创建用户的默认设置
useradd -D [options]:修改默认选项的值
useradd -D修改的结果保存于/etc/default/useradd文件中
usermod命令:修改用户属性
usermod [options] LOGIN
-u, --uid UID 修改用户的ID为此处指定的新UID
-g, --gid GROUP 修改用户所属的基本组
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
-a, --append 与-G一同使用,用于为用户追加新的附加组
-c, --comment COMMENT 修改注释信息
-d, --home-dir HOME_DIR 修改用户的家目录,用户原有的文件不会被转移至新位置
-m, --move-home 只能与-d选项一同使用,用于将原来的家目录移动为新的有目录
-l, --login NEW_LOGIN 修改用户名
-s, --shell SHELL 修改用户的默认shell
-L, --lock 锁定用户的密码;即在用户原来的密码字符串之前添加一个"!"
-U, --unlock 解锁用户的密码
userdel命令:删除用户
-r, --remove 删除用户时一并删除用户的家目录,默认是不删除的
passwd命令:passwd - update user's authentication tokens
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1)passwd:修改用户自己的密码
(2)passwd USERNAME:修改指定用户的密码,但仅root有这个权限
-l,-u:锁定和解锁用户
-d:清除用户密码
-e DAYS:过期期限,日期
-i DAYS:非活动期限
-n DAYS:密码的最短使用期限
-x DAYS:密码的最长使用期限
-w DAYS:警告期限
--stdin;
echo "PASSWDORD" | passwd --stdin USERNAME
gpasswd命令:给组添加密码
存储文件:/etc/gshadow
gpasswd [option] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp命令:临时切换指定的组为基本组
newgrp [-] [group]
-:会模拟用户重新登录以实现重新初始化其工作环境
chage命令:更改用户密码过期信息
chage [options] LOGIN
id命令:print real and effective user and group IDs 显示用户的真实和有效的用户ID
id [OPTION]... [USER]
-u USER 仅显示有效的UID
-g USER 仅显示用户的基本组ID
-G USER 显示用户的所有组ID
-n USER 显示名字而非ID
su命令:switch user
登录式切换:会通过重新读取目标用户的配置文件来重新初始化
su - USERNAME
su - l USERNAME
非登录式切换:不会读取目录用户的配置文件进行初始化
su USERNAME
注意:管理员可无密码切换到其它任何用户
-c 'COMMAND':仅以指定用户的身份运行此处指定的命令:
~]# su - user -c 'whoami'
user
其它几个命令:chsh,chfn,finger
finger — user information lookup program 查看用户信息、进程
chsh 更改用户的shell类型
chfn 更改finger信息