用户和组配置文件

1、用户:Linux基于用户身份对资源访问进行控制

  • 用户账号分三类:
  • 命令 who am i 或whoami可查询当前用户
  • 超级用户:管理员root
  • 程序用户:不需要登录系统,服务于应用程序,维护系统的运行
  • passwd文件中最后是nologin的,大都是程序用户
  • 普通用户:可以登录系统的一般用户
  • 组账号
  • 基本组(私有组):当用户创建文件和文件夹是,默认的属组,只能有一个
  • 附加组(公共组):用户可以有多个附加组
  • UID和GID
  • UID:用户标识号
  • GID:组标识号

2、用户相关配置文件

  • /etc/passwd:用户信息
  • 用户名
  • 密码占位符
  • UID
  • GID
  • 描述信息
  • 家目录
  • 登录shell
  • /etc/shadow:用户密码相关的信息
  • 用户名
  • 加密后的密码
  • $6开头的是用sha256加密算法进行加密的,也有md5加密。!!说明 该用户没密码。
  • 上一次密码修改时间(单位是天,是距离1970年1月1日多少天)
  • 密码最小生存周期(单位:天 0表示随时可以修改密码;n天表示n天内不能修改)
  • 密码最大生存周期(单位:天,密码使用的最长时间)
  • 密码到期前几天开始警告
  • 密码过期之后到账户失效之前的时间限制,密码过期之后还可以用几天
  • 账户过期时间
  • 保留列
  • /etc/group:组账户信息
  • 组名:密码占位符:GID:用户列表
  • /etc/gshadow:安全组账户信息
  • 组名:加密后的密码:组管理员:组成员

3、创建用户时有关的配置文件

  • /etc/login.defs Shadow 密码套件配置
  • login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
  • /etc/default/useradd:账户创建的默认值
  • /etc/skel/:包含默认文件的目录
  • 主要的用户初始配置文件
  • ~/.bash_profile :环境变量
  • ~/.bashrc : 别名机制
  • ~/.bash_logout : 注销管理

添加用户并设置密码

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

  • 超级用户:既可以修改自己的密码,又可以修改别人的密码,并且不需要提供当前密码
  • 普通用户:只能修改自己的密码,要求严格,并且需要提供当前密码
  • -l 锁定用户
  • -u 解锁用户
  • -S 查看用户锁定状态
  • --stdin 指定可以从标准输入来读取密码,也可以是从管道

切换用户:

  • su 用户名:不完全切换,环境变量不发生变化
  • su - 用户名,完全切换,环境变量也切换成新用户名的,相当于注销一个再登录一下。
  • 退出用户:exit
  • shadow文件中密码部分为叹号的用户不能登录。
  • zz:!!:18345:0:99999:7:::

修改用户信息及组信息

1、修改用户信息:usermod

  • 与useradd参数差不多,一个是在创建用户时设定,一个是用户创建好之后
  • -u -g -G -d -s
  • -L 锁定用户
  • -U 解除锁定
  • -l 改名
  • -G 修改用户的扩展组,(跟原来的不一样,原来所属的扩展组都清除)
  • -a 添加用户到组,结合-G使用(原来的组不受影响)

2、删除用户:userdel

  • -r :连同用户的宿主目录一并删除

3、查看和修改用户密码信息:chage,同时修改shadow文件

  • chage -d 0 用户名强制 用户下次登录必须更改密码
  • chage -m 2 用户名 修改密码最少使用天数
  • chage -M 50 用户名 修改密码最大使用天数(密码过期时间)
  • chage -I 5 用户名 密码过期后到账户失效的天数(密码过期后账号还能使用的天数)
  • chage -E "2019-3-5" 用户名 修改的是账户的过期时间
  • chage --help 可查看 各选项

4、添加组账号信息:groupadd ,组配置文件:/etc/group

5、添加删除组成员:gpasswd

  • -a:向组内添加一个用户
  • -d:从组内删除一个用户成员
  • -M:定义组成员列表,以逗号分隔:不管原来组里有哪些成员,都变为我新定义的

6、删除组账号:groupdel

7、修改用户相关信息:chfn

8、查看用户信息命令

  • id 显示真实和有效的 UID 和 GID
  • whoami 查询用户的用户名
  • finger 查询用户帐号的详细信息
  • userswwho命令 查询已登录到主机的用户信息
  • groups 查看用户所属组信息