一、linux 用户和组
1.linux 操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户,每个用户可以在一个独立的组,每个组可以有零个用户或者多用户
2.linux 系统用户是根据用户ID 来识别的,从默认ID编号0开始,但是为了和老式系统兼容,用户ID限制在60000以下,linux用户总共分为三种,分别如下:
- root用户(ID 0)
- 系统用户(ID 1-499)
- 普通用户(ID 500以上)
普通用户可以成为系统用户,系统用户不可以成为普通用户
二、linux 系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id 命令可以显示当前用户的信息,使用passwd命令可以修改当前用户的密码。linux 操作系统用户的特点如下:
- 每个用户拥有一个UserID,操作系统读取的是UID,而非用户名
- 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组
- 每个组拥有一个GrouID;
- 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限
- 每个可登录用户拥有一个指定的SHELL环境
三、linux用户管理
linux 用户可以对操作系统进行管理和维护,涉及到的相关配置文件如下
- /etc/passwd 保存用户信息
- /etc/shdow 保存用户密码(以加密形式保存)
- /etc/group 保存组信息
- /etc/login.defs 用户属性限制,密码过期时间,密码最大长度限制
- /etc/default/useradd 显示或更改默认的useradd配置文件
四、使用useradd创建用户
用法:useradd 选项 登录
-b 指定新账户的家目录
-d 新账户的主目录
-D 显示或更改默认的userad配置
-g 新账户主组的名称或ID
-G 新账户的附加组列表
-l 不要将此用户添加到最新登录和登录失败的数据库
-m 创建用户的主目录
-M 不创建用户的主目录
-N 不创建同名的组
-r 创建一个系统用户
-U 创建与用户同名的组
-s 新账户登录的shell
-u 新账户的用户ID
案例:创建lile用户,并加入到li和lo组
useradd -G li, lo 李乐
新建lile 用户,并指定新的家目录,同时指定其登录的shell
useradd lile -d /tmp/ -s /bin/bash
五、用户组管理
- linux 组有以下特点:
- 每个组有一个组ID
- 组信息保存在/etc/group中;
- 每个用户至少拥有一个主组,同时还拥有31个附属组
通过命令 groupadd 、groupdel、groupmod对组进行管理
groupadd用法
-f 如果组已存在则成功退出
-g 为新组使用GID
-o 允许创建有GID的组
-p 为新组使用此加密过的密码
-r 创建一个系统组
groupmod用法
-g 更改组的GID
-n 给组改名
-o 允许使用重复的GID
-p 将密码更改机密过得password
groupdel 用法
groupdel lile 删除lile组
案例:
(1)创建lile组:groupadd lile
(2)创建lile组,并指定组的GID: groupadd -g 1000 lile
(3)创建一个系统组,名为lile组: groupadd -r lile
(4)修改组名称,将lile组改成 li组:groupmod -n li lile
(5)修改的的gid,将原来lile组GID 修改为100:groupmod -g 100 lile
- useradd用于新建用户,用户创建以后可以使用usermod 来修改用户以及组的属性
用法: usermod 选项 用户名
选项:
-d 用户的心目里
-e 设定账户过期的日期
-f 账户过期几天后,密码失效
-g 强制使用GROUP为新组
-G 新的附加组groups
-l 新的登录名称
-L 锁定用户账号
-U 解锁用户账号
-o 允许使用重复的UID
-u 用户的新UID
-s 用户新的登录shell环境
-a 将用户追加至上边-G的附加组,并不从其他组中删除此用户
案例演示:
- 将lile 用户属组修改为lile1,lile2的附属组: usermod -G lile1, lile2 lile
- 将lile 用户加入到lile3,lile4的附属组,-a 为添加新组,原组保留:
usermod -a -G lile3,lile4 lile
- 修改lile用户,并指定新的家目录,同时指定登录的shell
usermod -d /tmp/ -s /bin/sh lile
- 修改lile的登录名:
usermod -l li lile
- 锁定用户,解锁用户
usermod -L lile
usermod -U lile
- userdel 删除用户
userdel lile 保留用户的家目录
userdel -r lile 删除用户及用户家目录,用户login系统无法删除
userdel -rf lile 强制删除用户及用户家目录,无论是否login系统