4,Linux系统中的用户管理

 用户及用户组存在的意义

用户存在的意义

系统资源是有限的

如何合理分配系统资源

在这个问题解决时必须要有连个资源配合

1.身份 account

2.授权 author

3.认证 auth

3A机制

3A机制组成系统中最底层的安全架构


用户及用户组在系统中的存在方式

电脑对数字敏感             id

人类对字符串敏感        名称

id                                  名称

必须要记录到文件当中用户才能存在

用户就是/etc/passwd文件中的一行字符

用户组存在的方式就是/etc/group 文件中的一行字符


用户切换:

用户查看

whoami         查看当前用户

id                   查看用户id信息

-u                  查看用户的用户

-g                  查看用户主组

-G                 查看用户所有的组的

-n                  显示名称()


用户id范围:

0-65535

0:                                  Linux超级用户ID

1-999:                        Liunx系统自用ID

1000-65535:              用户级ID 

        以上ID设定规则都被记录在/etc/login.defs


用户切换:

su - username

-                                       切换用户环境

username                        如果root ----> commonuser 不需要后者密码

                                        commonuser ----> root 需要密码

                                        commonuser ----> commonuser 需要密码

                                        注意:在做用户切换时当使用完毕用户身份及时退出

                                        不要在一个shell中反复执行su命令

                                        在一个shell中反复执行su命令会导致环境错乱


 用户涉及到的系统配置文件:

/etc/passwd            用户身份信息文件
                       用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
/etc/group             组身份信息文件
                       组名称:组密码:组id:组的附加成员
/etc/skel/.*           用户环境配置文件模板
/etc/shadow            用户认证信息文件
/home/username         用户家目录
/var/spool/mail/username
                       用户邮箱文件

用户和用户组建立及删除

 用户:x:uid:主组id:说明:家目录:使用的shell

监控用户建立的命令
watch -n 1 tail -n 6 /etc/passwd /etc/group;              //监控用户和用户组信息的文件
watch -n 1 ls  -l /home/                                   //监控用户家目录的建立
echo =======;ls -l /home"
useradd username             //用户建立
-u id username               
uid 2**16=0-65535
0                             表示超级用户
1-200                         系统预留id
201-999                       系统用户
1000-60000                    用户级用户
/etc/login.defs               记录用户建立的默认规则
-g id username                主组id
-G id username                附加组id
-d dir username               指定用户家目录
-M username                   建立用户时不建立家目录
-c word username              指定用户说明
-s shell username             指定用shell
userdel -r username           用户删除
-r                            删除用户的系统配置文件
groupadd groupname            组建立
-g id groupname               指定组名称
groupdel groupname            组删除
useradd -u 1005 test

groupadd -g 1005 test
useradd -g 1005 test

useradd -G 21

useradd -d /etc/hahahaha test

useradd -M test

useradd -c "hello" test

useradd -s /bin/sh

userdel -r test

groupadd -g -1005 test

groupdel test


用户和用户组的信息管理

usermod
-l             更改用户名称
-u             更改用户id
-g             更改主组id
-G             更改用户附加组身份
-aG            添加用户附加组身份
-c             更改用户说明

-d             更改家目录指向
-md            更改家目录指向同时更改家目录名称

-s             更改默认shell
-L             冻结账号
-U             解锁
groupmod -g    更改用户组id
usermod -l demo text     //左边为修改后,右边为修改前
groupmod -n demo test     //组修改
usermod -u 6666 test        //用户id
usermod -g 6666 test        //主组id
usermod -G 52   test        //更改用户附加组身份
usermod -aG 52   test        //添加用户附加组身份(不移除原本附加组的信息)

练习:

 


用户认证信息管理:

/etc/shadow                 文件内容说明

用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期: 账号非活跃期:账号到期时间:用户自定义(未使用)

 1.用户名称

passwd -S lee                 查看密码状态

2.用户加密字符

更改密码

passwd lee                     只有root可以执行 “echo 123 | passwd --stdin lee”

passwd                          普通用户改密码

Changing password for user lee

Current password:           输入原始密码

New password:                输入新密码(8位以上无序数字+无序字母组合)

Retype new password:     重复输入

passwd: all authentication tokens updated successfully.

冻结认证

passwd -l lee                   冻结账号认证

passwd -u lee                 解锁账号认证

passwd -d lee                        密码删除

密码使用天数                   从1970-1-1算其到今天的时间

passwd -e lee                  修改默认使用时间为0

chage -d 0 lee                  账号必须改密码才能登陆系统

密码最短有效期          

passwd -n 1 lee                lee在1天内不能改密码

chage -m 1 lee

密码最长有效期

passwd -x 40 lee              40天内lee用户必须更新密码否则会被冻结

chage -M 30 lee

密码过期警告

passwd -w 2 lee                 账号过期前警告时间

chage -W 1 lee

认证非活跃天数

passwd -i 2 lee                  账号认证最大时间超过后还能用多久

chage -I 1 lee                     

账号认证到期时间

chage -E "2020-05-11"       到2020-5-11这天账号会被冻结 #未启用功能


用户权力下放

在系统中普通用户是无法执行系统管理命令的

如果需要普通用户执行系统管理动作,那么需要 root 用户来进行授权

普通用户授权方式:          sudo 

作用:

可以使普通用户使用指定的用户身份呢运行命令

授权方法

visudo                     此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右编写       代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1

id        主机名        root     使用功能免密    命令一    命令二
#lee用户         在linux.wesots.com主机=(用超级用户身份)         执行useradd命令
lee             linux.westos.com=(root)                         /usr/sbin/useradd

westos用户     在linux.wesots.com     使用超户     免密     执行useradd 和 userdel
westos         linux.wesots.com =     (root)    NOPASSWD:   /usr/sbin/useradd, /usr/sbin/userdel
注意在追加命令时中间以逗号和空格分隔
测试:
su - lee
sudo useradd westostest         在lee第一次使用sudo命令时需要输入lee密码
exit                            退出lee
su - westos
sudo userdel -r westostest      westos可以免密执行userdel 命令

练习

 

groupadd -g 8000 shengchan
groupadd -g 8001 caiwu
groupadd -g 8002 jishu
useradd -u 8001 -g 8001 lee
useradd -s /sbin/nologin -M linux
userdadd westosmin
visudo                    
echo westoslee | passwd --stdin lee
echo westoslee | passwd --stdin westoslinux
echo westoslee | passwd --stdin westoslee
echo westoslee | passwd --stdin westosmin
echo westoslee | passwd --stdin lee
echo westoslee | passwd --stdin westoslinux
echo westoslee | passwd --stdin westoslee
echo westoslee | passwd --stdin westosmin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值