Linux–文件权限问题总结

  • Post author:
  • Post category:linux


1.查看文件

  • ls:显示没有隐藏的文件和文件夹
  • ls -a:显示当前目录下的所有文件和文件夹,包括隐藏的文件
  • ls -l:显示没有隐藏的文件和文件夹的详细信息
  • ls -al:显示当前目录下的所有文件和文件夹的详细信息

2.文件详细信息解读

  • 第1列:代表文件的类型。我们常见的是d和-。d代表是目录文件。-代表是普通文件。其他不常见的有。l代表链接文件,b代表块设备。c代表字符设备文件。
  • 第2-10列:代表该文件的权限。三个为一组。

    第一组代表文件所有者的权限



    第二组代表同用户组的权限



    第三组代表其他用户非本用户组的权限



    每组权限中的rwx,分别代表读,写,可执行的意思。
  • 第11列数字,图中的2,1,3,9这列,代表有多少文件名连接到此节点。

    每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node,这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码。
  • 第12列的root:所属者用户名
  • 第13列的root:所属用户组
  • 第14列:容量大小,默认为B
  • 后面为创建或修改日期,最后为文件名。

3.文件权限介绍

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

如之前的图所示,-代表空许可,r代表只读,w代表只写,x代表可执行。

4.chmod命令重写权限

该命令用于改变文件或目录的访问权限。

该命令有两种写法:1、文字设定法(包含字母和操作符的方式)。2、数字设定法(包含数字的设定方式)。

5.文字设定法

(1)命令:chmod [who] [+ | – | =] [mode] 文件名

  • who:包含以下:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。

  • 操作符

+添加某个权限。

-取消某个权限。

=赋予给定权限并取消其他所有权限(如果有的话)。

  • mode

r 可读。

w 可写。

x 可执行。

u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

  • 文件名 以空格分开的要改变权限的文件列表,支持通配符。

(2)举个栗子:

给当前用户增加对startup.sh的执行权限。 chmod u+x startup.sh

使同组和其他用户对文件example 有读权限。chmod g+r,o+r example

6.数字设定法

(1)命令:chmod [mode] 文件名

我们将之前的rwx用数字进行替代。

0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限。

数字之和,即为该文件的权限。

使用文字的方式,有三组文字,数字即为3组数字之和。

(2)举个栗子:

chmod 644 a.txt

文件属主具有读写权限,文件组具有读权限,其他用户具有读权限。

7.chgrp命令

改变文件或目录所属的组

(1)命令:chgrp [选项] group filename

– R 递归式地改变指定目录及其下的所有子目录和文件的属组。

group为用户组id或者为/etc/group中用户的用户组名。如果用户不是文件的属主或者超级用户,则不能改变。

(2)举个栗子:

chgrp – R jichi /etc

将etc及etc下所有文件和目录的属组都改为jichi。

8.chown命令

更改某个文件或目录的属主和属组。

(1)命令:chown [选项] 用户或组 文件

– R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

– v 显示chown命令所做的工作。

(2)举个栗子:

把文件a.txt的所有者改为jichi。

chown jichi a.txt

把目录/b及其下的所有文件和子目录的属主改成jichi,属组改成jingdian。

chown – R jichi.jingdian /b



版权声明:本文为qq_41653753原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。