欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下的用户管理

程序员文章站 2022-06-05 18:55:20
...

Linux下的用户管理

用户和用户组存在的意义

1.用户是操作者在系统中的身份表示
2. 用户的存在是为了限制权限
3. 做是逻辑概念,是用户的集合

用户在系统中的储存方式

1.用户在系统中以文件的字符串存在
2.每个字符串映射了该用户所用到的系统资源

查看用户

查看指定用户——id + 指定用户

参数 作用
-u 查看用户的uid
-g 查看用户的gid
-G 查看用户所在的所有组的id
-n 显示名字不显示id数字

对于一个用户而言,只有唯一个UID,但是可以有多个不同的组,分别为初始组和附加组,主组组名与用户名相同,且只有一个用户。主组以外的组为附加组。

用户身份的切换

用户的切换 su - 用户名
注销当前用户——gome-session-quit --force
1.注销当前用户后,在使用其他用户登陆
2.在切换用户时,使用su - 用户名称
3.su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
4.su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换也需要
注意:每次su切换到其他用户操作之后必须退出(exit),然后再次切换到其他用户

用户及用户组的建立和删除

用户的删除

名称 方法
删除用户但不删除用户配置文件 userdel+用户名
删除用户也删除用户配置文件 userdel -r +用户名
##查看 /etc/passwd /etc/group文件后三行,查看/home目录里面的所有内容
[[email protected] Desktop]# watch -n 1 "tail -n 3 /etc/passwd /etc/group; ls -l /home" 
##删除zhima用户
[[email protected] Desktop]# userdel zhima
##删除zhima1用户
[[email protected] Desktop]# userdel -r zhima1
##新建zhima用户失败
[[email protected] Desktop]# userdel zhima
userdel: user 'zhima' does not exist
##新建zhima1用户成功
[[email protected] Desktop]# useradd zhima1

用户的建立 - useradd

名称 方法
指定用户uid useradd -u
指定用户初始组id useradd -g
指定用户的附加组id useradd -G
指定用户的说明 useradd -c
指定用户的家目录 useradd -d
指定用户默认shell useradd -s

##指定upan用户的uid为7777
[[email protected] Desktop]# useradd -u 7777 upan
[[email protected] Desktop]# id upan
uid=7777(upan) gid=7777(upan) groups=7777(upan)
##删除upan用户
[[email protected] Desktop]# userdel -r upan
##指定upan用户的初始组gid为72
[[email protected] Desktop]# useradd -g 72 upan
[[email protected] Desktop]# id upan
uid=1002(upan) gid=72(tcpdump) groups=72(tcpdump)
[[email protected] Desktop]# userdel -r upan
##指定upan用户的附加组id为21
[[email protected] Desktop]# useradd -G 21 upan
[[email protected] Desktop]# id upan
uid=1002(upan) gid=1002(upan) groups=1002(upan),21(slocate)
[[email protected] Desktop]# userdel -r upan
##指定upan用户的说明为cunchushebei
[[email protected] Desktop]# useradd -c "cunchushebei" upan
##显示/etc/passwd文件最后一行
[[email protected] Desktop]# tail -n 1 /etc/passwd
upan:x:1002:1002:cunchushebei:/home/upan:/bin/bash
[[email protected] Desktop]# userdel -r upan
##指定upan用户的家目录为  /home/cunchu
[[email protected] Desktop]# useradd -d /home/cunchu upan
##显示/home中的所有文件
[[email protected] Desktop]# ls -l /home
total 18
drwx------  4 upan    upan     1024 Jul 11 05:08 cunchu
drwx------  2 root    root    12288 May 11  2017 lost+found
drwx------  4    7777    7777  1024 Jul 11 05:02 shu
drwx------. 5 student student  1024 May 11  2017 student
drwx------  4 zhima1  zhima1   1024 Jul 11 04:50 zhima
drwx------  4 zhima1  zhima1   1024 Jul 11 04:52 zhima1
[[email protected] Desktop]# userdel -r upan
##指定upan用户的默认shell为/bin/sh 
[[email protected] Desktop]# useradd -s /bin/sh upan
##显示/etc/passwd文件最后一行
[[email protected] Desktop]# tail -n 1 /etc/passwd
upan:x:1002:1002::/home/upan:/bin/sh

用户组的建立和删除

名称 方法
建立用户组 groupadd
建立用户组并指定用户组 groupadd -g
删除用户组 groupdel

##建立upan用户组id
[[email protected] Desktop]# groupadd upan
##建立并指定upan用户组id为5555
[[email protected] Desktop]# groupadd -g 5555 jianpan
##删除upan用户组id
[[email protected] Desktop]# groupdel upan

用户和用户组的信息管理

名称 方法
更改用户名 usermod -l
更改uid usermod -u
更改gid usermod -g
更改附加组 usermod -G
添加附加组 usermod -aG
指定用户说明文字 usermod -c
更改用户家目录指向 usermod -d
更改用户家目录 usermod -md
更改用户shell usermod -s
[[email protected] Desktop]# id shubiao
uid=1001(shubiao) gid=1001(zhima1) groups=1001(zhima1)
##将shabao用户名改为zhima1
[[email protected] Desktop]# usermod -l zhima1 shubiao
[[email protected] Desktop]# id zhima1
uid=1001(zhima1) gid=1001(zhima1) groups=1001(zhima1)
##将zhima1用户的uid改为8888
[[email protected] Desktop]# usermod -u 8888  zhima1
[[email protected] Desktop]# id zhima1
uid=8888(zhima1) gid=1001(zhima1) groups=1001(zhima1)
##将zhima1用户的组id改为21
[[email protected] Desktop]# usermod -g 21  zhima1
[[email protected] Desktop]# id zhima1
uid=8888(zhima1) gid=21(slocate) groups=21(slocate)
##将zhima1用户的附加组id改为72
[[email protected] Desktop]# usermod -G 72  zhima1
[[email protected] Desktop]# id zhima1
uid=8888(zhima1) gid=21(slocate) groups=21(slocate),72(tcpdump)
##zhima1用户的附加组id添加一个72
[[email protected] Desktop]# usermod -aG 5555  zhima1
[[email protected] Desktop]# id zhima1
uid=8888(zhima1) gid=21(slocate) groups=21(slocate),72(tcpdump),5555(jianpan)
##清空zhima1用户的附加组id
[[email protected] Desktop]# usermod -G ""  zhima1
[[email protected] Desktop]# id zhima1
uid=8888(zhima1) gid=21(slocate) groups=21(slocate)
##为zhima1用户添加hahaha说明
[[email protected] Desktop]# usermod -c "hahaha"  zhima1
[[email protected] Desktop]# tail -n 1 /etc/passwd
zhima1:x:8888:21:hahaha:/home/zhima1:/bin/bash
##更改zhima1用户家目录指向
[[email protected] Desktop]# usermod -d /home/cai  zhima1
[[email protected] Desktop]# tail -n 1 /etc/passwd
zhima1:x:8888:21:hahaha:/home/cai:/bin/bash
[[email protected] Desktop]# ls -l /home
total 17
drwx------  2 root    root    12288 May 11  2017 lost+found
drwx------  4    7777    7777  1024 Jul 11 05:02 shu
drwx------. 5 student student  1024 May 11  2017 student
drwx------  4    1001 zhima1   1024 Jul 11 04:50 zhima
drwx------  4 zhima1  slocate  1024 Jul 11 04:52 zhima1
##添加chaye用户
[[email protected] Desktop]# useradd chaye
##更改chaye用户的家目录
[[email protected] Desktop]# usermod -md /home/cha chaye
[[email protected] Desktop]# tail -n 1 /etc/passwd
chaye:x:1001:5556::/home/cha:/bin/bash
[[email protected] Desktop]# ls -l /home
total 18
drwx------  4 chaye   chaye    1024 Jul 11 05:47 cha
drwx------  2 root    root    12288 May 11  2017 lost+found
drwx------  4    7777    7777  1024 Jul 11 05:02 shu
drwx------. 5 student student  1024 May 11  2017 student
drwx------  4 chaye   zhima1   1024 Jul 11 04:50 zhima
drwx------  4    8888 slocate  1024 Jul 11 04:52 zhima1
##更改chaye用户shell
[[email protected] Desktop]# usermod -s /bin/sh chaye
[[email protected] Desktop]# tail -n 1 /etc/passwd
chaye:x:1001:5556::/home/cha:/bin/sh

用户认证信息的内容分析

/etc/shadow ##用户信息文件
1.用户名称
2.用户密码
3.密码已使用时间
4.密码最短有效期
5…密码最长有效期
6.密码到期前警告
7.密码非活跃天数
8.密码到期日
更改密码 ##passwd
查看用户密码信息 ##passwd -S
冻结用户 ##passwd -l
解锁用户 ##passwd -u
清空密码 ##passwd -d
##用户在登陆前强制更改密码
passwd -e 用户名 = chage -d 0 用户名
改变用户最后一次密码时间为0
##用户1天之内不能更改密码
passwd -n 1 用户名=chage -m 1 用户名
用户密码最短有效期
##用户30天之内必须更改密码
passwd -x 30 用户名=chage -M 30 用户名
用户密码最长有效期
##用户密码过期前n天有警告
passwd -w 3 用户名=chage -W 3 用户名
用户密码警告期限
##用户过期后仍然可以登陆的天数
passwd -i 1 用户名=chage -I 1 用户名
用户非活跃天数
##用户在2020年1月1日到期
chage -E 2020-1-1用户名
用户到期日

用户权力的下放

sudo能将某些超级权限针对性的下放,而且不需要用户知道root密码
执行命令的流程是当前用户切换到root,在root下配置好,执行完成后,直接退回当前用户
权力下放文件为/etc/sudoers
visuso 100行左右(为了整齐规范化)
##tom用户可以在localhost主机以root用户身份执行useradd命令
用户   主机名称=(得到的用户身份)    命令
tom   localhost=(root)    /usr/sbin/useradd
##tom用户可以在localhost主机以 root用户身份免密执行useradd
用户   主机名称=(得到的用户身份)    命令
tom    localhost=(root)    NOPASSWD: /usr/sbin/useradd
之后用tom用户使用useraddd添加用户即可看到效果

相关标签: 笔记 linux