linux 对账号及组的管理是通过ID号实现的,再登录时其实是将用户名转化为ID号,再比对密码。用户ID 为UID,组ID为GID。
一 、文件信息
1.账户文件信息 /etc/passwd
【账户名】:【密码占位符,x需要密码登陆;为空不需要密码登录】:【UID】:【GID】:
【账户附加信息,一般存储账户名全称等】:【家目录位置】:【账户登陆的Shell,/sbin/nologin 表示无法登录 】
2.账户密码信息 /etc/shadow
【账户名】:【密码,!! 无密码】:【上次修改密码距离1970-1-1的天数】:【密码最短有效天数,0表示无限制】:
【密码最长有效天数,默认99999】:【过期前警告天数默认7,提前几天提醒你】:【密码过期后的宽限修改密码天数,但是已经不能使用旧密码登录】:【账户失效日期】:【保留列】
3.组账户信息文件 /etc/group
【组账户名称】:【密码占位符】:【GID】:【组成员信息,仅显示附加成员不显示基本成员】
4.组账户密码文件 /etc/group
【组名】:【组密码,为空即没有,!不设密码,不设管理员】:【组管理员,空即没有】:【组成员】
二、命令操作
1.useradd [选项] 用户名称
-c :设置描述信息,一般为账户全称
-d :设置家目录
-e : 设置账户的失效日期
-g :设置基本组
-G :设置附加组,逗号分隔
-M : 不创建 家目录,一般与 -s 结合使用
-s :设置登录的Shell, 默认为bash
-u :指定 uid
例如:
useradd -c robert -d /home/rob -e 2019-06-30 -g root -G bin,adm rob
创建了普通用户 rob uid 1000 ,全称 robert home目录为/home/rob ,失效日期为 2019-06-30
用户基本组为 root 组 gid为0 附加组为bin,adm ,默认登录shell为 /bin/bash ,无密码
useradd -s /sbin/nologin -M user1 创建一个无法的登录且没有家目录的用户,(其实在home目录下没有user1这文件夹)
2.passwd [选项] 用户名
-l :锁定密码
-u :解锁密码
-d :清空密码,无密码登录
--stdin : 从管道或者文件中读取密码 ,用在特定情况吧
3. 用户信息修改
usermod [选项] 账户名
-d : 修改家目录 ,新目录必须已存在
-e :修改失效日期
-g : 修改基本组
-G : 修改附加组
-s :修改登录shell
-u : 修改用户UID
4.用户删除
userdel [选项] 用户名
-r :删除用户及文件(不带r 只删除用户)
userdel rob
5.用户组操作
groupadd [选项] 组名 :创建组
-g :指定组ID
groupdel : 删除用户组
gpasswd 组名 :设置组密码
gpasswd -A 用户名 组名 :设置用户为xx组管理员