LINUX权限管理

LINUX权限管理

权限:就是约束用户能对系统执行的操作

为什么要使用权限?
linux本身是一个多用户的操作系统,需要对用户进行权限划分才能 保证系统使用的安全科学
1 提高安全性
2 数据隔离
3 职责明确

权限与用户之间的关系

linux系统中权限是用来规定用户能干什么不能干什么
针对文件定义的三种身份分为 owner group other
当一个用户访问文件时其访问流程如下:
1判断用户的文件属性
2判断文件是否为文件属组,如果是则按属组权限进访问
3如果不是文件属主,也不是文件属组,则按其他权限进行访问

权限中的rwx的含义

linux中权限是由 rwx-xr-x 这9位字符标表示
主要控制文件的属主user 属组group 其他用户other

2(w)
1(x)
0(无权限)
在这里插入图片描述例子:
文件权限示例1:
rwxrw-r-- alice hr file.txt
alice是该文件的属主拥有全部的权限
hr 也就是属组拥有读写的权限
other的用户只拥有查看的权限
示例2 :
rw-r----- root dev file2.txt

root 对file2有读写的权限
dev组内的用户对于file2.txt有read权限
jack的附加组为dev组
那么jack对于file文件有读的权限
alice 对于此文件什么权限都没有

示例3
rwxr–rwx jack ops file3.txt
jack 对于fiel3.txt 拥有全部权限
tom 附加组在ops中 所以tom对于该文件只有读的权限
alice 在other用户里面所以拥有全部权限

修改文件的权限

简单的说就是:赋予某个用户或者组能够以某种方式读写执行和访问文件

如何修改权限

命令 chmod (change mode )
对于root而言可以修改任何人的文件权限
对于普通用户而言只能变更属于自己的文件权限

UGO方式

给所有人添加读写执行权限
chmod a = rwx file
a=all(user + group + other )
取消文件的所有权限
chmod a=-rwx file
属组读写执行 属组读写 其他人无权限
chmod u=rwx ,g=rw,o=- file
总结:
u 后面跟用户的属主权限
g 后面跟用户的属组权限
o 后面跟other用户的权限
加什么就写啥

NUM方式(使用最多)

chmod 664 file1.txt

root@localhost tmp]# chmod  664 file1.txt ; ll  | grep file1.txt 
-rw-rw-r--. 1 alice hr       13 Jul 13 18:13 file1.txt

属主属组 rw权限
其他的用户无权限

chmod 600 file1.txt

chmod  600 file1.txt ; ll  | grep file1.txt 
-rw-------. 1 alice hr       13 Jul 13 18:13 file1.txt

属主rw权限 其他的无权限
chmod -R 755 dir

root@localhost test]# chmod   -R  755  /test/test.conf 
[root@localhost test]# ll | grep test.conf 
-rwxr-xr-x. 2 root root     599 Jul  9 17:09 test.conf

在此总结下chmod常用的选项:
u 文件属主权限
g 同组用户权限
o 其它用户权限
a 所有用户(包括以上三种)
-R, --recursive 以递归方式更改所有的文件及子目录

权限设定的方案:
针对hr 部门的访问目录 /data/hr 设置权限,要求如下:
超级管理员 root 用户和hr 组员工可读,写,.执行
其他的用户没有任何权限

groupadd  hr 
 useradd  hr01 -G  hr ; useradd hr02 -G hr 
mkdir  /home/hr 
chgrp  hr  /home/hr 
chmod  770 /home/hr 

linux中权限对于文件和目录的区别在这里插入图片描述

这里使用touch创建不能创建 能够使用vim编辑但是不保存

## 验证r权限
使用root 身份新建文件
切换到普通用户
测试普通用户对改文件是否拥有可读权限
测试普通用户对该文件是否拥有可执行和删除权限

[root@localhost ~]# su -
Last login: Tue Jul 13 19:40:55 CST 2021 on pts/1
[root@localhost ~]# echo  "date"  > /opt/filename 
[root@localhost ~]# useradd oldxie 
[root@localhost ~]# su - oldxie 
[oldxie@localhost ~]$ cat  /opt/file
file      filename  
[oldxie@localhost ~]$ cat  /opt/filename 
date
[oldxie@localhost ~]$ rm  -r  /opt/filename 
rm: remove write-protected regular file ‘/opt/filename’? 

如上所述:root下创建的文件默认下普通用户是不能删除只能查看,就算能用vim编辑但是也不能保存

## 验证w权限
修改权限只有W
测试能否查看文件
测试是否能写入数据至文件
测试是否能删除文件

[root@localhost ~]# chmod   642  /opt/filename  
[root@localhost ~]# su  -  oldxie 
Last login: Tue Jul 13 19:51:07 CST 2021 on pts/1
[oldxie@localhost ~]$ cat /opt/filename 
cat: /opt/filename: Permission denied
[oldxie@localhost ~]$ vim  /opt/filename 
Error detected while processing /etc/vimrc:
line    5:
E488: Trailing characters: #export PS1=
Press ENTER or type command to continue
[oldxie@localhost ~]$ echo 'date'>> /opt/filename 
[oldxie@localhost ~]$ rm  -f  /opt/filename 
rm: cannot remove ‘/opt/filename’: Permission denied
[oldxie@localhost ~]$ 

从上面能看出:
当只有w权限时只能够查看文件
能重定内容到文件
使用vim编辑是不能保存的
不能够删除文件(因为是roor下创建的文件普通用户没有删除的权限)

验证x权限

修改权限只有x
测试能否查看文件
测试能否写入数据至文件
测试能否删除文件
测试能否读取文件

[oldxie@localhost root]$ ll /opt/  | grep  filename 
-rw-r----x. 1 root root 15 Jul 13 20:01 filename
[oldxie@localhost root]$ cat /opt/filename 
cat: /opt/filename: Permission denied
[oldxie@localhost root]$ echo 'date' >>/opt/filename 
bash: /opt/filename: Permission denied
[oldxie@localhost root]$ rm  -f /opt/filename 
rm: cannot remove ‘/opt/filename’: Permission denied
[oldxie@localhost root]$ 

vim能进入编辑但是也是不能保存
不能查看不能删除文件

文件权限总结

读取权限r : 具有读取,阅读文件内容权限
只能使用cat head tail less more
写入权限w :具有新增,修改文件内容的权限
1使用vim 会提示权限拒绝,但可以强制保存会覆盖文件中的所有内容
2使用echo命令重定向的方式可以往文件内写入数据,>>可以追加内容
使用rm 无法删除文件,因为删除文件需要看上级目录是否具有w的权限
执行权限x:具有执行文件的权限
单独的使用x权限是什么用都没有
如果普通用户需要执行文件,需要配合r权限

权限对目录的影响

验证r权限
使用root 身份创建目录,修订权限为774
在目录中创建一个普通文件
测试是否能查看目录中的内容
测试是否能进入该目录

[root@localhost ~]# mkdir /data
[root@localhost ~]# echo  '123' > /data/filename 
[root@localhost ~]# chmod  774 /data/
[root@localhost ~]# su  - oldhong 
Last login: Tue Jul 13 20:18:59 CST 2021 on pts/1
[oldhong@localhost ~]$ ls  /data 
ls: cannot access /data/filename: Permission denied
filename
[oldhong@localhost ~]$ cd /data/
-bash: cd: /data/: Permission denied
[oldhong@localhost ~]$ 

只能查看文件名但是不能打开,也不能进入此目录

验证w权限
使用root 修改权限为772
测试是否能查看文件中的内容
测试是否能进入此目录
测试是否能删除文件中的目录

Last login: Tue Jul 13 20:35:05 CST 2021 on pts/1
[root@localhost ~]# chmod  772  /data/
[root@localhost ~]# su  - oldhong 
Last login: Tue Jul 13 20:36:02 CST 2021 on pts/1
[oldhong@localhost ~]$ ls /data/
ls: cannot open directory /data/: Permission denied
[oldhong@localhost ~]$ cd  /data/
-bash: cd: /data/: Permission denied
[oldhong@localhost ~]$ rm  -f   /data/filname 
rm: cannot remove ‘/data/filname’: Permission denied
[oldhong@localhost ~]$ 

验证x权限

使用root 用户修订权限为771
测试是否能查看目录中的内容
测试是否能进入目录

[oldhong@localhost ~]$ su - root
Password: 
Last login: Tue Jul 13 20:39:37 CST 2021 on pts/1
[root@localhost ~]# chmod   771 /data/
[root@localhost ~]# su - oldhong 
Last login: Tue Jul 13 20:40:08 CST 2021 on pts/1
[oldhong@localhost ~]$ ls  /data/
ls: cannot open directory /data/: Permission denied
[oldhong@localhost ~]$ cd /data/
[oldhong@localhost data]$ pwd 
/data

能够进入目录但是不能查看

目录权限小结
读取权限r :具有浏览目录及目录权限
使用ls 命令浏览目录及子目录,但同时也会提示权限拒绝
ls -l 命令浏览目录及其子目录,文件属性会带问号,并且只能看见文件名

写入权限w :具有增加删除或修改目录文件名权限,但需要配合x权限使用
可以在目录中创建文件删除文件但是不能进入目录,不能复制目录,不能删除目录,不能移动目录

执行权限x:具有执行文件的权限
只能进入目录
不能浏览,复制,移动,删除

文件与目录权限总结

文件权限小结:
r权限,只给用户查看,没有其他的操作
rw 可以编辑和查看文件,但是不能执行
rx 可以查看和执行文件,不能修改
rwx可读可写可执行文件不能删除

目录权限小结:
目录rx权限,允许浏览目录文件以及子目录,不允许在该目录下创建文件和删除文件
目录rw权限,能够查看目录,能往目录中写入文件但是没办法进入目录(使用非常少)
默认系统设定的安全权限:
文件权限644 rw-r–r--
目录权限755 rwx-r-xr-x 属主:啥都能干
属组:不能创建文件删除文件
其他:能看能进入但是不能创建文件,删除文件

修改文件所属关系

命令:chown (change owner)
chgrp (change group)

 chown  bin /data/ |  ll   -d /data/
drwxrwx--x. 2 bin root 22 Jul 13 20:35 /data/

drwxrwx--x. 2 bin adm 22 Jul 13 20:35 /data/

修改目录属主为root ,所属组为root 并且进行递归传递授权

[root@localhost /]# chown   -R   root.root  /data/
[root@localhost /]# ll  -d  /data/
drwxrwx--x. 2 root root 22 Jul 13 20:35 /data/

chgrp(change group)

[root@localhost /]# chgrp    adm    /data/  | ll  -d  /data/
drwxrwx--x. 2 root adm 22 Jul 13 20:35 /data/

修改文件所属关系场景

进程能够以一种什么样的方式访问一个文件,取决于这个进程所运行的用户对这个文件有什么样子的权限

我们下面做一个http场景的说明
首先

在这里插入图片描述
在这里插入图片描述
关闭防火墙
yum install -y httpd
sed -i ‘s#SELINUX=enforece#SELINUX=disabled#g’ /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl restart httpd
echo ‘i am from sichuan’ >>/var/www/html/index.html
chown apache.apache /var/www/html/index.html
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值