Linux用户身份

用户身份

Linux 中每个用户都有唯一的 UID,通过 UID 可以判断用户身份

  • UID 为 0:系统管理员用户
  • UID 为 1-999:系统用户,Linux系统为避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏的范围
  • UID 从 1000 开始:普通用户,由管理员创建的用于日常工作的用户

Linux 中创建每个用户时,会自动创建一个同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户之后被归纳到其他组,则这个其他用户组称为扩展用户组

id 命令

用途

用于显示用户的详细信息。

语法格式

id 用户名

[root@linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)

useradd 命令

用途

用于创建新的用户账户

语法格式

useradd [参数] 用户名

参数及作用

参数 作用
-d 指定用户的家目录(默认为 /home/$username
-e 账户的到期时间,格式为 YYYY-MM-DD
-u 指定该用户的默认 UID
-g 指定一个出事的用户基本组(必须已存在,不会再创建用户名的同名组)
-G 指定一个或多个扩展用户组(正常创建用户名的同名组)
-N 不创建于用户同名的基本用户组
-s 指定该用户的默认Shell解释器,默认是 /bin/bash
-c 备注
-p 指定密码,需要为密文,一般不会在命令行指定

groupadd 命令

用途

创建新的用户组

语法结构

groupadd [参数] 群组名

usermod 命令

用途

用于修改用户的属性,全称为 “user modify”

语法格式

usermod [参数] 用户名

参数及作用

参数 作用
-c 填写用户账户的备注信息
-d -m 参数 -m 和参数 -d 连用,可重新制定用户的家目录并自动把旧的数据迁移过去
-e 账户的到期时间,格式 YYYY-MM-DD
-g 变更用户所属组
-G 变更扩展用户组
-L 锁定用户禁止登录系统
-U 解锁用户,允许登录系统
-s 变更默认终端
-u 修改用户的UID

解释器从 /bin/bash 切为 /sbin/nologin 后,用户马上就不能登录,但是这个用户依然可以备某个服务所调用,管理某个具体的服务。当黑客通过这个服务入侵成功后,破坏的范围仅局限于这个特定服务,降低损失。

passwd 命令

用途

用于修改用户的密码,过期时间等信息,英文全称“password”

语法格式

passwd [参数] 用户名

参数及作用

普通用户只能修改自己的密码,root 可以修改所有人的密码,且root修改密码时无需验证旧密码。

参数 作用
-l 锁定用户,禁止登录
-u 解锁用户,允许登录
--stdin 通过标准输入修改密码,如 echo "NewPassWord" |passwd --stdin UserName
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的额密码是否被锁定,以及密码锁采用的加密算法名称

echo redhat |passwd --stdin bob 更新 bob 用户的密码为 redhat

userdel 命令

用途

删除已有的用户账户,英文全称“user delete”

语法格式

userdel [参数] 用户名

参数及作用

参数 作用
-f 强制删除用户
-r 同时删除用户及用户家目录

chage 密码策略

语法格式

[root@server1 ~]# chage
用法:chage [选项] 登录

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays MAX_DAYS        set maximum number of days before password
                                change to MAX_DAYS
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”

[root@server1 ~]# 
[root@server1 ~]# chage -l zhuchun
最近一次密码修改时间                  :从不
密码过期时间                  :从不
密码失效时间                  :从不
帐户过期时间                      :从不
两次改变密码之间相距的最小天数     :0
两次改变密码之间相距的最大天数     :99999
在密码过期之前警告的天数    :7
[root@server1 ~]#