Linux安全优化之用户管理

1 用户存在意义及存在方式

什么是用户?

  • 用户是操作者在系统中的身份。
  • 用户是系统最底层的安全机制的一部分。
  • 用户在系统中以字符和文件的形式存在。
用户在系统中的存储方式: 用户系统文件说明
/etc/passwd 用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group 用户组信息文件
组的名字:组的密码:组id:组成员
/etc/shadows 认证信息文件
/etc/skel/.* 默认开启shell的配置,用户的骨文件
/home/username 用户的家目录

:默认shell的指定有哪些可以查看系统中**/etc/shells**文件。Linux安全优化之用户管理
nologin不能提供交互界面给用户!

2 用户信息查看

(1)whoami ### 查看当前用户
(2)

系统中用户的查看
id username 查看指定用户的信息
id -u username 查看用户的uid
id -g username 查看用户的gid
id -G username 查看用户所在的所有组的id
id -n username 显示名字而不显示id数字

Linux安全优化之用户管理

3 监控用户建立过程

用watch监控一组命令,则这组命令需要用引号引起来。-n表示执行频率,1表示1秒后面引号内的命令会执行一次。然后回车即可进入监控界面。若想退出监控界面,按【ctrl+c】即可。
Linux安全优化之用户管理

4 建立用户时如何制定用户的id

useradd 建立用户
useradd -u 8888 username 指定用户的uid为8888
useradd -g 21 username 指定用户初始组id,21用户组必须是存在的
useradd -G 21 username 指定用户的附加组id,21用户组必须是存在的
userdel -r username 删除建立的用户

Linux安全优化之用户管理
Linux安全优化之用户管理
Linux安全优化之用户管理
Linux安全优化之用户管理
Linux安全优化之用户管理

5 建立用户时如何制定用户的常用信息

useradd -c “hello” username 指定用户的说明
useradd -d /home/lee username 指定用户的家目录
useradd -s /bin/sh username 指定用户的默认shell
groupadd 建立用户组
groupadd -g 888 username 建立用户组并指定用户组的id
groupdel 删除用户组

Linux安全优化之用户管理
Linux安全优化之用户管理
Linux安全优化之用户管理

6 更改用户信息

usermod 更改用户信息
usermod -l 新名称 westos 更改用户的名称
usermod -u 6666 westos 更改用户的uid
usermod -g 21 westos 更改用户的初始组
usermod -G 21 westos 更改用户的附加组
usermod -aG 72 westos 添加用户的附加组
usermod -G “” westos 删除用户所有附加组身份
usermod -c “hahaha” westos 指定用户说明文字
usermod -d /home/lee westos 更改用户家目录的指向
usermod -md /home/lee westos 更改用户家目录
usermod -s /bin/sh westos 更改用户的shell
usermod -L westos 冻结用户
usermod -U westos 解锁用户

7 用户的切换操作

gnome-session-quit --force ###注销当前用户

  • su - 用户名称
  • su - 中“ - ”表示在用户身份切换时同时切换当前用户环境。
  • su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级用户需要,平级用户切换也需要。
    :每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户。
    Linux安全优化之用户管理
    su - :既加载软件的配置,也加载系统的配置。(登陆系统的shell)
    su :只加载软件的配置,不加载系统的配置。(没有登陆系统的shell)

8 linux中修改密码

修改密码:passwd
超级用户修改密码:可直接改自身的密码,无需输入旧密码,且可以改普通用户的密码。
普通用户修改密码:不能是纯数字或者纯字母,不能小于6位,不能和旧密码太相似,也不能和用户名太相似必须是无序的数字和字母的组合,在更改时必须先输入旧密码。不能改超级用户及其他普通用户的密码。

9 用户认证信息详解

/etc/shadows ##记录用户认证信息
westos:!!:17895:0:99999:7:::
此文件共有九列:
【1】
westos ##用户名称
【2】
!! ##用户密码
用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”那么用户被冻结
【3】
17895 ##用户密码最后一次被更改的时间
此时间是从1970-1-1开始计算累计的天数
【4】
0 ##用户密码最短有效期
如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的
【5】
99999 ##用户密码最长有效期
用户必须在此有效期内更新密码,如果超时会被冻结
【6】
7 ##密码警告期限
在过期前制定天数内会发送警告信息给用户
【7】
##用户非活跃天数
此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
【8】
##用户到期日
默认为空,表示账号一定会被冻结的时间点
【9】
用户自定义列,目前没有启用

10 用户认证信息管理

passwd -S username ##查看用户密码信息
Linux安全优化之用户管理
passwd -e username ##改变用户最后一次更改密码的时间为0 ##用户在登陆时被强制更改密码
chage -d 0 username ##用户密码最后一次被更改的时间为0
passwd -n 1 username ##用户在1天之内不能修改密码
chage -m 1 username ## 用户在1天之内不能修改密码
passwd -x 30 username ##用户在30天内必须修改密码
chage -M 30 username ##用户在30天内必须修改密码
passwd -w 2 username ##密码过期前两天有警告输出
chage -W 2 username ##密码过期前两天有警告输出
passwd -i 1 username ##密码过期后仍可登陆系统的天数
chage -I 1 username ## 密码过期后仍可登陆系统的天数
chage -E 2018-11-11 username ##用户在2018-11-11会被冻结

11 sudo权力下放的基本用法

权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但是不提供语法检测。也可以使用visudo编辑此文件,visudo命令是提供语法检测的。
下放方式:
用户 主机名称=(得到的用户身份) 命令
如:
tom localhost=(root) /usr/sbin/useradd
tom localhost-(root) NOPASSWD:/usr/sbin/useradd
测试:
su - tom
sudo useradd hello