7-权限管理

权限管理-用户组管理:
1.什么是用户
用户是操作系统提供一种安全机制
用户是权限的化身
2.为何要有用户
1)划分权限,增强安全性
2)每启动一个进程都会有一个用户关联
进程—>用户—>权限(作用在文件身上)
3.组的概念
主组:用户本身所在部门
附加组:为用户添加的部门

用户与组的关系:
一对一:一个用户可以属于一个组,用户默认就在自己的主组下
一对多:一个用户可以属于多个组,用户只有一个主组,但可以为用添加多个附加组
多对多:多个用户可以属于多个组


4.总结
linux系统把文件的权限分为三类
1.属主对应的权限 u
2.属组对应的权限 g
3.其它对应的权限 o

一个用户对文件的权限扫描的优先级
1.先看该用户是否是文件的属主
2.在1失败的情况,再看该用户是否是文件的属组
3.再2失败的情况,该用户属于其它人权限

 

 

用户相关文件:
vim /etc/passwd:查看用户信息
vim /etc/shadow:查看用户密码信息
vim /etc/group:查看用户属组信息
vim /etc/gshadow:查看用户属组密码信息
ll -a /etc/skel:家目录的模板 ll -a /home/用户名
cp -ra /etc/skel/.[!.]* /home/与用户名同名的文件夹
ll /var/spool/mail/用户名:用户的邮箱信息

useradd 用户名:创建新用户
passwd 用户名:创建用户密码
echo "密码" | passwd 用户名 --stdin
userdel -r 用户名:彻底删除用户(一般方法删除用户:残留组,home目录等文件)
usermod -a -G it,sale,hr 用户名:为用户添加附加组it,sale,hr(将多个组添加到用户)
usermod -g 组号 用户名:为用户添加属组
usermod -l 新组名 旧组名:更改组名

groupadd -r 组名:创建组(一个用户必须有一个组)
gpasswd 组名:创建组密码
groupadd -g 6666 组名:修改组的组号
groupmod -n 新组名 旧组名:更改组名
groupdel 组名:删除附加组(主组不可删除)
gpasswd -a 用户名 组名:为用户添加组
gpasswd -M 用户名,用户名 组名:为用户添加附加组(将多个用户添加到组里)
gpasswd -A 用户名 组名:指定组长
gpasswd -d 用户名 组名:从组名中删除用户


ps:每创建一个用户都会创建一个该用户的主组,主组的名字与用户名相同
ps:hash算法,高效解决问题的方法,一种算法就是用来解决一种特定的问题。
hash算法:可以把文本内容/一串字符计算成一串hash值
常见的hash算法:md5,sha512,sha256
我们无须研究hash算法的原理,只需要掌握hash值的特点即可
hash值有三大特点:
1.传入的内容一样,并且采用的hash算法一样,得到hash算法肯定一样
2.hash值不可逆推,不能通过hash值反推出明文
3.hash值的长度取决于采用的hash算法,与传入的内容多少无关
特点1,2—>用于加密
特点1,3—>文件完整性校验

 

 

 

权限管理:
权限的类型:
r—>4
w—>2
x—>1
权限的归类:
u
g
o

I.设置
chmod #设置权限
1.加减法
# 属主:rwx
# 属组:rx
# 其它人:rw
chmod u+x,g+x,o+rw /root/a.txt
chmod u-wx /root/a.txt
2.赋值:权限直接覆盖
chmod u=rwx,g=rx,o=rw a.txt
3.数字
chmod 777 /root/a.txt
chmod 756 /root/a.txt
4.-R递归修改
mkdir -p /a/b/c
touch /a/b/c/d/a.txt
chmod -R 777 /a

chown # 设置用户和组
chown libai.libai /root/a.txt
chown libai. /root/a.txt
chown .libai /root/a.txt
chown -R libai.libai /a

II.权限的作用(文件,文件夹)
针对文件:
r:读取文件的内容
w:修改文件的内容
x:可以把文件当成一个命令/程序运行
针对目录:
r:可以浏览该目录下的子目录和子文件名
w:创建,删除,移动文件
x:只要操作目录下的内容,必须要有对该目录的执行x权限

操作文件夹下的子文件与子文件夹(不是文件内容):

例1:在目录下创建,删除,移动文件需要的权限=对所有文件夹的x权限以及对目标文件夹的r权限
例2:浏览一个目录下的子目录与子文件名需要的权限=对所有文件夹的x权限以及对目标文件夹的r权限
总结例1和例2:
只要涉及到操作文件夹下的东西,当前用户
1.首选需要具备对沿途所有文件夹的x权限
2.其它需要巨鳖对目标文件夹的r或者w权限
r代表可以浏览
w代表可以创建,删除,移动

操作文件夹下的文件内容:

例1:查看某一个文件内容需要具备的权限=对所有文件夹的x权限以及对目标文件的r权限
例2:改某一个文件内容需要具备的权限=对沿途所有文件夹的x权限以及对目标文件的w权限
总结例1和例2:
操作文件夹的文件内容,当前用户
1.首选需要具备对沿途所有文件夹的x权限
2.其它需要巨鳖对目标文件夹的r或者w权限
r代表可以读文件内容
w代表可以改文件内容

 

 

特殊权限:
chmod u+s /usr/bin/cat:为命令设置suid身份,每一个用户都是命令的主人
chown .group1 /test
chmod g+s /test:为目录设置sgid身份,每一个用户都是文件的同组用户
chmod g+s /usr/bin/cat:为命令设置sgid身份,目录继承
chmod o+t 共享目录:为其它人设置,由特定用户负责特定目录

644:touch a.txt 文件默认权限
755:mkdir /a 目录默认权限
0022:umask 系统默认的权限

高级权限
acl权限:
getfacl a.txt:查看文件a.txt的权限信息
setfacl -m u::权限 /a.txt:给用户赋予权限
setfacl -m g::权限 /a.txt:给组赋予权限
setfacl -m o::权限 /a.txt:给其它人赋予权限
setfacl -m d:u:egon01:权限 /test:给文件夹test继承赋予的权限

setfacl -x u:egon01 /b.txt:去除egon01用户的权限
setfacl -b /b.txt:去除/b.txt文件的用户权限信息

setfacl -m m:rwx a.txt:给最大权限用户mask设置rwx权限(筛子)
setfacl -m u:egon02:w a.txt:给egon02用户赋予a.txt的w权限
setfacl -m u:egon01:r a.txt:给egon01用户赋予a.txt的r权限

su - egon01 -c "cat /a.txt":命令行方式切换用户,查看a.txt的内容

特殊属性:
chattr +a /opt/1.txt:只允许追加
chattr +i /opt/1.txt:不允许任何操作(取消权限-i)
chattr +A /opt/1.txt:不允许修改访问时间

 

 

 

su与sudo:
一.让普通用户具备管理员权限
1.linux中shell分为两种级别:
登录级别shell:/etc/profile—>/etc/profile.d/*.sh—>~/.bash_profile—>~/.bashrc—>/etc/bashrc
1).输入账号密码登录进来
2).su - 用户名(管理员root切换到普通用户下无需输入密码,反之需要)

非登录级别shell:~/.bashrc—>/etc/bashrc—>/etc/profile.d/*.sh
1).su 用户名

如果想针对所有用户以及登录与非登录shell设置统一的配置—>/etc/bashrc
vim /etc/bashrc(/etc/profile)(PATH=/soft:$PATH PATH=/soft:$PATH)
source /etc/bashrc (/etc/profile)


2.sudo授权:不切换用户,即用户身份不变,但是可以获取root的部分管理权限
vim /etc/sudoers:更改sudo命令选项
visudo -c:检查sudo命令选项更改

用户 主机ip或主机名=(转成的用户身份) 管理命令
egon ALL=(ALL) /usr/sbin/ifconfig

egon ALL=(ALL) NOPASSWD:/usr/sbin/ifconfig

egon ALL=(ALL) NOPASSWD:命令的别名

egon ALL=(ALL) ALL,!/usr/bin/vim
ALL(可直接IP地址)代表的是服务器的IP地址,与客户端无关

3.总结
su:
特点:直接切换到root账号下进行操作,输入的是root的密码
优点:简单粗暴
缺点:root密码泄露,普通用户获取了所有管理权限
sudo:
特点:在当前普通用户下进行操作,不需要切换到root账号下,在执行操作命令格式为:sudo 命令。输入的是普通用户自己的密码
优点:root密码没有泄漏,普通用户获取了部分管理权限
缺点:相对复杂

 

posted @ 2022-05-02 21:52  修心的博客  阅读(113)  评论(0编辑  收藏  举报