linux~文件权限管理

在linux中,为了数据的安全性,文件权限控制是十分重要的,文件权限作为系统最底层安全设定方法之一,可以保证文件可以被可用的用户做相应的操作。比如电脑前的读者你,如果这篇文章我在发布时,设置为仅粉丝可见,那么你将不能看到这篇文章;而如果我设置为所有人可见的话,那么无论是谁都可以进行浏览。这就是文件权限存在的意义,而我们在这里面可以细分成两个部分理解:A:权限定义;B:权限说明

A:权限定义:
linux每一个用户都属于一个组,不能独立于组外。linux的文件权限需要定义三个实体对它的权限。

文件所有者
文件所在组
其他组

实体含义
所有者(u)一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
文件所在组(g)当用户创建了一个文件后,这个文件的所在组就是该用户所在的用户组
其他组 (0)除了所在组之外的其他组均为其他组

B:权限说明:
查看一个一个文件的权限可以使用command:ls -l 文件名/目录名;##也可使用简写command:ll。
在这里插入图片描述
可以见到,如文件file,8个字段分别代表着不同的含义:
第一个字段代表着文件的类型:

  • :表示空文件或者文本;
    d:表示目录;
    l:表示软链接;
    s:socket,套接字;
    b:block,块设备。

第二个字段:如dir的权限:rwx(1)r-x(2)r-x(3),
1表示所有者(user)拥有的权限;
2表示组群(group)拥有的权限;
3表示其他人(other)拥有的权限。

##注:
r 表示文件可以被读(read)
对文件:是否可以查看文件中的内容 —> cat file
对目录:是否可以查看目录中有什么子文件或者子目录 —>ls dir
w 表示文件可以被写(write)
对文件:是否可以改变文件中记录的字符;
对目录:是否可以对目录中子目录或子文件的元数据进行修改。

x 表示文件可以被执行(如果它是程序的话)
对文件:是否可以通过文件名称调用文件内记录的程序;
对目录:是否可以进入目录。

-表示相应的权限还没有被授予。**

其中,“-rwx”这四个字段可以用8进制的数字来进行表示。
如:
在这里插入图片描述

第三个字段“数字”代表着链接的个数。

第四个字段和第五个字段分别代表文件的拥有者和归属组,如dir的拥有者为root,所属组也是root。

第六个字段表示文件的大小。

第七个字段表示文件的时间。

第八个字段表示文件的名字。

接下来主要了解一下权限的设定:
首先,用户授权是借助文件/etc/sudoer文件进行权力的下放。这个文件可以直接使用vim进行编辑,但是直接使用vim进行编辑,没有提供语法检测,因此一般推荐使用visudo直接编译文件。(visudo提供了语法的检测。)
在这里插入图片描述

进入文件之后,一般在第100行左右,可以看到第一条表示root(超级用户)权限的编译文件。我们可以直接按照root的格式进行权限的下放。如:
用户名(wuxie) 主机名(localhost)=(root) /user/bin/useradd ;
该命令表示用户wuxie可以在localhost主机以root用户身份执行useradd命令。
用户名(wuxie) 主机名(localhost)=(root) NOPASSWD: /user/bin/useradd ;
该命令表示用户wuxie可以在localhost主机以root用户身份免密执行useradd命令。

C:修改文件所有人和所有组的权限:
command:chown username file|dir;###将file|dir的拥有者更改为username
command:chown user:group file|dir;###将file|dir的拥有者和拥有组分别改为user和group;
command:chown -R user:group dir;### -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

command:chgrp group file|dir;
command:chown -R group dir;## -R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。

如下图:分别一次对于mnt目录下的test目录和文件word(123)的拥有者和所属组进行修改;进一步对于test目录中的txt(123)的所有者和所属组进行修改。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

D:修改文件的权限:
最简单的方法最容易理解的方法,个人认为是按照上面说的8进制的方式进行修改,如下:

command:chmod 321 /mnt/* ;##修改mnt目录下的所有文件目录的权限为321;

command:chmod 321 /mnt/test/* ;##修改mnt/test目录下的所有文件目录的权限为321;

在这里插入图片描述

当然还有其他的修改方式,但较为繁琐和难以记忆,因此如果可以掌握上面8进制的方式,下面的作为了解,遇到了可以明白是什么意思即可:
1:符号类型改变档案权限
在前面有写过,文件基本上的九个权限分别是(1)user (2)group (3)others三种身份!因此可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!也就是可以使用底下的方式来看:
在这里插入图片描述
如:chmod u=rwx,go=file;##设定一个文件的权限成为『-rwxr-xr-x』。

2:当想把某一文件的权限和另外一文件的权限进行等同时,可以使用命令:
command:chmod --reference=/mnt/word1 /mnt/test ###这种方法很少用到,作为了解即可。

注:权限的学习还未结束,以后总会有新的东西进行补充。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值