用户和组配置文件
1.用户:Linux基于用户身份对资源进行控制
- 用户账号
- root用户
- 程序用户:不需要登录系统,服务于应用程序,维护系统的运行
- 普通用户:可以登录系统的一般用户
- 组账号
- 基本组(私有组):当用户创建文件和文件夹时,默认的属组,只能有一个
- 附加组(公共组):用户可以有多个附加组
- UID和GID
- UID用户标识号
- GID组标识号
2.用户相关配置文件
/etc/passwd
:用户信息
/etc/shadow
:用户密码相关的信息
- /etc/passwd信息含义:(7段内容)
- 用户名:
- 密码占位符:
- UID:
- GID:
- 描述信息:
- 家目录:
- 登录shell
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
......
/etc/shadow
信息含义:
- 用户名
- 加密后的密码
- 上一次密码修改时间(单位是天,是距离1970年1月1日多少天)
- 密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改
- 密码最大生存周期 单位:天,密码使用的最长时间
- 密码到期前几天开始警告
- 密码过期之后到账户失效之前的时间限制,密码过期之后还可以用几天
- 账户过期时间
- 保留列
[root@localhost ~]# cat /etc/shadow
root:$6$Gpft/m4f.o2AYeRq$eUv2Ct7IZloLXlI1NaQjXYbwxO/bN/XXaXVW1PCGDwBAXuxIWtIIydIqLunMtSYqqUQ8RlWfJVcrFcR2.Bydd/::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
......
/etc/group
:组账户信息
- 组名、密码占位符、GID、用户列表
[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
......
/etc/gshadow
:安全组账户信息
- 组名、加密后的密码[!表示没有设置密码]、组管理员、组成员
[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
......
3.创建用户时有关的配置文件
/etc/login.defs
:Shadow 密码套件配置 ,设置用户账号限制的文件,可配置;配置对root用户无效。配置优先级低于/etc/shadow
/etc/default/useradd
:账户创建的默认值/etc/skel
:包含默认文件的目录- 主要的用户初始配置文件
~/.bash_ profile
用户环境变量文件和启动程序文件~/.bashrc
用户的别名和函数,将别名写入,只针对当前用户有效~/.bash_logout
当用户注销时执行的文件- 别名机制:alias 别名=‘要执行的命令’
- /etc/profile 针对所有用户生效
- /etc/bashrc 针对所有用户生效
添加用户并设置密码
1、添加用户:useradd
- 选项:
-u
指定用户的uid-g
指定用户的gid-G
指定附属组,可以有多个,但是这些附属组必须是系统内已经存在的-c
指定描述-d
指定家目录-M
不建立家目录-s
指定shell-e
指定用户过期时间,日期
- useradd -e $(date -d + 180days + %Y-%m-%d) zhangsan
- 设置账户过期时间为180天后
-f
指定密码过期后账号失效之前的天数
2、给用户设置密码:passwd
- root:既可以修改自己的密码,又可以修改别人的密码,并且不需要提供当前密码
- 普通用户:只能修改自己的密码,要求严格,并且需要提供当前密码
-l
:锁定用户[/etc/shadow 密码前有!!]-u
:解锁用户-S
:查看用户锁定状态--stdin
:指定可以从标准输入来读取密码,也可以是从管道
修改用户信息及组信息
1、usermod:修改用户信息
-u、-g、-G、-d、-s
与useradd参数差不多-L
: 锁定用户-U
: 解除锁定-l
: 改名-a
: 添加用户到组,结合-G
使用
2、userdel:删除用户
-r
: 联通用户的宿主目录一并删除
3、chage:查看和修改用户密码信息
chage -d 0用户名用户下次登录必须更改密码
chage -m 2用户名修改密码最少使用天数
chage -M 50用户名修改密码最大使用天数(密码过期时间)
chage -l 5用户名密码过期后到账户失效的天数 (密码过期后账号还能使用的天数)
chage -E “2019-3-5"用户名修改的是账户的过期时间
4、groupadd:添加组账号信息
5、gpasswd:添加删除组成员
-a
:向组内添加一个用户-d
:从组内删除-个用户成员-M
:定义组成员列表,以逗号分隔
6、groupdel:删除组账号
7、chfn:修改用户相关信息
8、查看用户信息命令
id
显示真实和有效的UID和GIDwhoami
查询用户的用户名finger
查询用户帐号的详细信息users、w、who命令
查询已登录到主机的用户信息groups
查看用户所属组信息