Linux文件和文件夹权限操作方法

Linux 文件权限

首先来查看一下当前目录下的文件内容吧

ls -l    查看当前目录下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件

我们可以看到文件的权限,-rw-rw-r--  ,一共有10位数。

其中: 最前面那个 - 代表的是类型(详细如下面贴图所示)

  1. 中间那三个 rw- 代表的是所有者(user)
  2. 然后那三个 rw- 代表的是组群(group)
  3. 最后那三个 r-- 代表的是其他人(other)

然后我再解释一下后面那9位数:

  1. r 表示文件可以被读(read)
  2. w 表示文件可以被写(write)
  3. x 表示文件可以被执行(如果它是程序的话)

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

文件和文件夹操作权限:

权限 简写 对普通文件的作用 对文件夹的作用
读取 r 查看文件内容 列出文件夹中的文件(ls)
写入 w 修改文件内容 在文件夹中删除、添加或重命名文件(夹)
执行 x 文件可以作为程序执行 cd 到文件夹

需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

补充:

特殊权限SUID、SGID、Sticky
在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如:

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd

SGID(Set Group ID, 4):
对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用s表示,如:

$ ls -l /var
drwxrwsr-x 2 root staff  4096 Apr 10 2014 local
drwxrwxr-x 15 root syslog  4096 Apr 4 19:57 log

Sticky, 1:
仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用t表示。

$ ls -l /
drwxrwxrwt  8 root root 4096 Apr 4 23:57 tmp

改文件和文件夹对应用户的操作权限   

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:

方式一:二进制数字表示

每个文件的三组权限:

  1. u 代表所有者(user)
  2. g 代表所有者所在的组群(group)
  3. o 代表其他人,但不是u和g (other)
  4. a 代表全部的人,也就是包括u,g和o
  5. 根据上图,其中:rwx也可以用数字来代替
  6. r ------------4
  7. w -----------2
  8. x ------------1
  9. - ------------0

当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:

  1. -rw------- (600) 只有所有者才有读和写的权限
  2. -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  3. -rwx------ (700) 只有所有者才有读,写,执行的权限
  4. -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  5. -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  6. -rw-rw-rw- (666) 每个人都有读写的权限
  7. -rwxrwxrwx (777) 每个人都有读写和执行的权限

上实际操作

查看了test的权限,是所有者拥有读、写、执行的权限:

然后向文件里添加了些内容,更改了下权限(700:-rwx------),并尝试在shiyanlou(所有者)下读取文件,可以读取。

更换到其他用户Peter,如下图再尝试读取,显示是权限不够,无法读取。

方式二:加减赋值操作

  1. u 代表所有者(user)
  2. g 代表所有者所在的组群(group)
  3. o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

在终端输入:

chmod o+w xxx.xxx
chmod o w xxx.xxx         表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx      表示删除xxx.xxx中组群和其他人的读和写的权限
chmod ug-r xxx.xxx

修改文件或文件夹的拥有者/所属的组

使用命令chown改变目录或文件的所有权(所有者/组)

注释:这里说的断断续续的,将在学习下一个内容(用户/组 增删改查)之后补充

文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。
我们先执行ls -l看看目录情况:

可以看到test文件的所属用户组为root,所有者为root。
执行下面命令,把上图中test文件的所有权转移到用户peter:
# chown peter test

要改变所属组,将test文件从root组中转移到组Peter中,可使用下面命令:
# chown :peter test

将所属的用户和组一起更改
将文件夹或文件test的拥有者修改成shiyanlou,所属的组修改成shiyanlou,如下图:

以上所述是小编给大家介绍的Linux文件和文件夹权限操作方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Linux 下目录文件权限(命令)的查看和修改

    Linux 下目录文件权限的查看和修改 在我的服务器下面有这几个文件夹 同时用ls -l也可以查看到这几个文件的权限. 看其中的assets文件一共有十位数,其中: 最前面那个 - 代表的是类型 中间那三个 rwx 代表的是所有者(user)拥有的权限 然后那三个 rwx 代表的是组群(group)拥有的权限 最后那三个 rwx 代表的是其他人(other)拥有的权限 r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话) -表示相应的权

  • Linux中文件权限目录权限的意义及权限对文件目录的意义

    linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe.bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系. 二.目录权限的意义 r:可以查看此目录下的完整文件列表信息. w:可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个

  • linux文件目录默认权限(详解)

    1.文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2.由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umask命令: [123@123 ~]$ umask           //数字方式显示 0022 [123@123 ~]$ umask -S        //符号方式显示 u=rwx,g=rx,o=rx以数字范式显示有4个数字,只看后3个即可,第一个为特殊权限使用 [123@123 ~]$ touc

  • linux文件上传,给文件或目录添加apache权限的方法

    在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告: 1. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file

  • Linux系统下如何查看及修改文件读写权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表的是类型 中间那三个 rw- 代表的是所有者(user) 然后那三个 rw- 代表的是组群(group) 最后那三个 r-- 代表的是其他人(other) 然后我再解释一下后面那9位数: r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话)

  • Linux 删除文件夹和文件的命令(强制删除包括非空文件)

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 1.删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2.删除文件使用实例: rm -f /var/log

  • linux下上传下载文件夹的方法

    Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2为目标目录,zhidao@192.168.0.1为远程服务器的用户名和ip地址. Linux下目录复制:远程服务器->本机 scp -r zhidao@192.168.0.1:/home/test2 /home/shaoxiaohu/test1 zhidao@192.168.0.1为远程服务器的用户名和

  • linux修改目录和文件权限的简单命令解释

    今天遇到的问题,如何一个用户如www的权限复制给我的用户? 目录的权限表示:dwrxr--r-- 其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读 x代表可执行 数字为4,2,1其中第一组是文件或者目录所有者权限,第二组代表当前用户所在用户组,第三组是其他用户组的权限所以控制文件的权限是精确到组的 用 chmod 权限 目录 复制代码 代码如下: chmod 777 testchmod u+w test

  • Linux Shell获取文件夹下的文件名方法

    有时候需要获取某个文件夹下的所有文件名,可以用程序实现,但是打开IDE,编译运行太麻烦,在Linux服务器中通常不能打开IDE,此时可以用几行简单的shell命令来实现,结果保存到某个文件中即可. Shell脚本如下: #!/bin/bash # get all filename in specified path path=$1 files=$(ls $path) for filename in $files do echo $filename >> filename.txt done 以上

  • Linux 压缩某个文件夹的实现方法

    Linux 压缩某个文件夹的实现方法 tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件. zip 压缩方法: 压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归 zip [参数] [打包后的文件名] [打包的目录路径] 解压 unzip xahot.zip 不解释 linux zip命令的基本用法是: li

随机推荐