系统资源是有限的,如何合理分配系统资源? 在这个问题解决时必须要有连个资源配合 1.身份 account 2.授权 author 3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
用户组是一个逻辑容器 对用户进行归类和统一授权
电脑对数字敏感 id 人类对字符串敏感 名称
id <-------> 名称必须要记录到文件当中用户才能存在 用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
whomai查看当前用户
[westos@lzy Desktop]$ whoami westosid查看用户id信息
id查看用户id信息-u查看用户的用户id-g查看用户主组id-G查看用户所有的组的id-n显示名称 [westos@lzy Desktop]$ id uid=1000(westos) gid=1000(westos) groups=1000(westos),10(wheel) [westos@lzy Desktop]$ id -g 1000 [westos@lzy Desktop]$ id -gn 显示用户的组名字 westossu - username
- #切换用户环境 username 1如果root 切换到commonuser 不需要后者密码 2commonuser 切换到 root 需要密码 3commonuser切换到commonuser 需要密码
注意 :在做用户切换时当使用完毕用户身份及时退出 不要在一个shell中反复执行su命令 #在一个shell中反复执行su命令会导致环境错乱
/etc/passwd 用户身份信息文件
westos:x:1000:1000:westos:/home/westos:/bin/bash 1 :2: 3 :4 :5 : 6 : 7 #1.用户名称 #2.用户密码: #3.用户id: 2*16 0-65535 0:root 1-999:systemuser 1000-65535:commonuser #4.用户主组id #5用户说明: #6:用户家目录: #7:用户默认shell/etc/group 组身份信息文件
westos : x : 1000: 组名称:组密码:组id:组的附加成员添加附加组
vim /etc/group westos:x:1000:lee[root@lzy ~]# id lee uid=1001(lee) gid=8889(lee) groups=8889(lee),1000(westos)
/etc/skel/.*##用户环境配置文件模板 当前用户配置文件有问题:删掉配置文件,复制/etc/skel/.*
/etc/shadow 用户认证信息文件
/home/username 用户家目录
对应/etc/passwd 中的信息 /etc/login.defs 记录用户建立的默认规则 useradd username##用户建立
useradd 参数 用户含义-u id usernameuid 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指定用户家目录-c word username指定用户说明-s shell username指定用shell-M不建立家目录建立如下用户,指定相应信息,对应/etc/passwd文件 useradd -M lzy建立lzy用户不建立家目录 /sbin/nologin useradd -G westos,root mp 建立用户时,多个附加组,用逗号隔开
userdel -r username##用户删除-r 删除用户的系统配置文件 不用-r,需要手动删掉用户的家目录
[root@lzy ~]# id lee uid=1001(lee) gid=8889(lee) groups=8889(lee) [root@lzy ~]# userdel -r lee 删除用户 [root@lzy ~]# id lee id: ‘lee’: no such user [root@lzy ~]#groupadd groupname 组建立 -g id groupname 指定组名称 groupdel groupname组删除
usermod
-l #更改用户名称 -u #更改用户id -g #更改主组id -G #更改用户附加组身份 -aG #添加用户附加组身份 -c #更改用户说明 -d #更改家目录指向 -md #更改家目录指向同时更改家目录名称 -s #更改默认shell -L #冻结账号 -U #解锁usermod -c "" username" 清空说明 G andaG usermod -G "" username删除所有附加组 [root@lzy ~]# watch -n 1 "tail -n 3 /etc/passwd ;ls -l /home" watch -n 1 一秒执行一次 watch command 默认两秒一次 date;ls 分号。两条命令一起执行 -d and -md
groupmod -g更改用户组id
vim /etc/shadow
lee: :18547:0:99999:7: : : 1 2 3 4 5 6 7 8 9[root@lzy ~]# watch -n 1 "tail -n 3 /etc/shadow ;passwd -S lee" 每秒监控/etc/shadow 文件的后三行,及lee用户的的密码状态
1.用户名称 passwd -S lee 查看密码状态
2.用户加密字符
/etc/shadow 密码认证 加密字符:哈西算法 /dev/random 加密设备 加密字符串从里面取 ll /dev/random 字符设备
更改密码 passwd lee只有root可以执行
echo 123 | passwd --stdin lee 非交互式改密码,可在脚本中自动运行
passwd普通用户改密码
冻结认证 rh7中passwd -l lee 的冻结程度更强,!!,usermod !,不能互相直接解锁 rh8中两个可以互相直接解锁
passwd -l lee usermod -L lee解锁账号认证 解锁了之后,账号可以继续使用
passwd -u lee usermod -U lee密码删除passwd -d lee
3密码使用天数 *从1970-1-1算其到今天的时间 修改默认使用时间为0账号必须改密码才能登陆系统
passwd -e lee chage -d 0 lee chage -d 数字 用户4密码最短有效期
lee用户在1天内不能改密码
passwd -n 1 lee chage -m 1 lee5.密码最长有效期 40天内lee用户必须更新密码否则会被冻结
passwd -x 40 lee chage -M 30 lee6.密码过期警告 账号过期前警告时间
passwd -w 2 lee chage -W 1 lee7.认证非活跃天数 账号认证最大时间超过后还能用多久
passwd -i 2 lee chage -I 1 lee8.账号认证到期时间 到2020-11-11这天账号会被冻结
chage -E "2020-11-11" lee9.未启用功能
在系统中普通用户时无法执行系统管理命令的 如果需要普通用户执行系统管理动作那么需要 root用户来进行授权
普通用户授权方式 “sudo” 作用: 可以使普通用户使用指定的用户身份呢运行命令
授权方法:
visudo 此命令作用是编辑/etc/sudoers并提供语法检测在文件的100行左右 代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1
westos用户 在lzy.wesots.com 使用超户免执行useradd 和 userdel westos lzy.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
test
在系统中完成以下用户操作 1. 建立用户组 shengchan,caiwu,jishu 并满足以下要求 #shengchan组id为8000 #caiwu组id 为8001 #jishu组id为8002 2.建立westosuser,linux,lee,westosadmin等用户完成以下要求 # westos用户的附加组为shengchan和jishu #lee的主组为caiwu,附加组为jishu,lee的uid和gid一致 #linux为系统账号不能直接被操作者使用 #westosadmin用户不属于以上三个部门,但是可以在系统中自由的管理用户 (sudo) , vim /etc/passwd uid gid 改为0 3. #以上用户密码均为westos,并要求用户首次登陆时强制修改密码 #设定以上用户密码必须在30天内进行修改,并在过期2天发出警告 ####creategroups####### grouadd shengchan -g 8000 grouadd caiwu -g 8001 grouadd jishu -g 8002 ###create user#### useradd -G shengchan,jishu westosuser useradd -u 8001 -g caiwu -G jishu lee useradd -M -s /sbin/nologin linux echo "westosadmin:x:0:0::/home/westosadmin:/bin/bash" >> /etc/passwd mkdir /home/westosadmin cp /etc/skel/.* /home/westosadmin echo westos | passwd --stdin westosuser echo westos | passwd --stdin lee echo westos | passwd --stdin linux echo westos | passwd --stdin westosadmin passwd -e westosuser passwd westosuser -x 30 -w 2 passwd -e lee passwd lee -x 30 -w 2 passwd -e linux passwd linux -x 30 -w 2 passwd -e westosadmin passwd westosadmin -x 30 -w 2对westosadmin用户进行sudo授权
