Linux用户和组管理
安装上下文:
进程以其发起者的身份运行:
进程对文件的访问权限,取决于发起此进程的用户的权限
系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户:这类用户从不用登录系统
groupadd命令:添加组
groupadd [选项] group_name
-g GID:指定GID:默认是上一个组的GID+1
-r:创建系统组
groupmod命令:修改组属性
groupmod [选项] group
-g GID:修改GID
-n new_name :修改组名
groupdel命令:删除组
groupdel [选项] group
useradd命令:创建用户
useradd [选项] 登录名
-u UID:指定UID
-g ,---gid group:指定基本组ID,此组得事先存在
-G,--groups froup1,group2,...:指明用户所属的附加组,多个组之间用逗号隔开
-c:指明注释信息
-d --home home_dir:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
-s,--shell:指定用户的默认shell,可用的所有shell列表为/etc/shells文件
-r,--system:创建系统用户
注意:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd -D:显示创建用户的默认配置
useradd -D 选项:修改默认选项的值
修改的结果保存于/etc/default/useradd文件中
usermod命令:修改用户属性
usermod【选项】登录
-u --UID:修改用户的id为此处指定的新UID
-g --gid group:修改用户所属的基本组
-G --groups group1,group2,.....:修改用户所属的附加组,原来的附加组会被覆盖
-a --append:与-G一起使用,用于为用户追加新的附加组
-c:修改注释信息
-d --home home_dir:修改用户的家目录,用户原有的文件不会被转移至新位置
-m --move home:只能跟-d选项一起使用,用于将原来的家目录移动为新的家目录
-l --login new_login:修改用户名
-s,--shell:指定用户的默认shell
-L,--lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”
-U,--unlock:解锁用户密码
userdel命令:删除用户
userdel [选项] 登录
-r:删除用户时一并删除其家目录
passwd命令:
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:清除用户密码串
gpasswd:
组密码文件:/etc/gshadow
gpasswd [选项] group
-a username:向组中添加用户
-d username:从组中删除用户
newgrp命令:临时切换指定的组为基本组
newgrp [-] [group]
-:会模拟用户重新登录以实现重新初始化其工作环境
chage - 更改用户密码过期信息
chage [选项] 登录名
id: 显示真实和有效的 UID 和 GID
id [OPTION]... [USERNAME]
-u:仅显示有效的UID
-g:仅显示用户的基本组id
-G:仅显示用户所属的所有组的ID
-n:显示名字而非ID
su命令:switch user
登录式切换:会通过读取用户的配置文件来重新初始化
su - username
su -l username
非登录式切换:不会读取目标用户的配置文件进行初始化
su username
注意:管理员可无密码切换至其他任何用户
-c ‘command’ :仅以指定用户的身份运行此处指定的命令
其他命令:chsh