Shell学习文件权限

来源:互联网 发布:java 百分比格式化 编辑:程序博客网 时间:2024/05/18 16:54

在linux中每一个用户创建的文件都有不同的权限,所以linux对文件权限的管理可以说是windows无法媲美的。

现在就来说说linux下的文件权限的管理。

 

1、创建文件

touch filename

使用touch就可以创建一个文件。

 

2、查看文件权限

[root@test60 shell]# ls -l 合計 0-rw-r--r-- 1 root root 0  4月 29 03:36 2014 temp.txt[root@test60 shell]# 


使用ls -l或者ll查看文件权限。

我们可以看到在文件前面有一堆r这样的字母。其实这个字母就代表了我们的文件的权限。下面来逐个解释这些字符的含义。

-rw-r--r--再次我们将其分为四组:第一组就是第一个‘-’第二组为‘rw-' ,第三组为'r--'第四组为'r--'

第一组中的‘-’代表文件的类型‘-’是指该文件为普通的一般文件如果是‘d'的话则表明该文件为目录,如果是'l‘的话则说明该文件为链接文件。

文件的类型:

d  目录。l  符号链接(指向另一个文件)。s  套接字文件。b  块设备文件。c  字符设备文件。p  命名管道文件。-  普通文件,或者更准确地说,不属于以上几种类型的文件。

第二组'rw-'为我们当前用户所拥有该文件的权限。文件的权限主要有r:读,w:写,x:执行

所以我们可以看到该用户拥有该文件的读和写的权限。

第三组:'r--'指的是和该用户同组的用户所拥有的该文件的权限,可以看到只有读权限。

第四组:'r--'指的是其他组用户拥有该文件的权限,可以看到也只有读权限。


3、修改文件权限


修改文件权限我们需要chmod来修改,我们很多人修改权限时使用的都是chmod 777 filename,或许他并不知道这个777是什么意思,只是知道别人这么干

我也这么干,肯定不会错。是的,错肯定不会错,可是这就会出现安全隐患的。好了接着就来好好说说这个777具体的含义。

使用ll之后,我们会看到文件的最前面会有一堆的rwx之类的东西,聪明的人一定会感受到我接下来要说的东西。对了没错这个777就和这个rwx有关系。

在linux中4代表的是r,2代表的是w,1代表的x。所以这样要是想要修改一个文件的权限就会变得很简单了。我们只需要将这些数字加起来使用chmod就可以改

变这个文件的权限。

这是一种数字形式的修改方式还有一种是使用u,g,o来修改文件权限。u代表文件的用户,g代表文件所在组,o代表其他组的用户这样我们只需要使用u/g/o+x/r/w

来修改文件权限即可,比如说我们需要给当前文件所属的用户加上执行权限就可以使用chmod u+x filename就可以给该文件所属的用户组加上执行权限。


4、修改文件的用户


修改文件和用户我们使用chown ,比如我们需要将一个文件从A用户修改到B用户我们就可以使用chown b filename


5、修改用户组


修改用户组我们使用的是chgrp,直接使用即可chgrp b filename


chmod和chgrp更多的使用建议去查linux的manul


6、umask

 

用来设置文件权限的掩码,也就是我们自动生成的文件的默认的权限,我们只需要记住一点的就是umask设置的是我们文件权限的补码,chmod

设置的是文件权限码

假设umask值为002:1) 文件的最大权限 rwx rwx rwx (777)  2) umask值为0 0 2 --- --- -w- 3) 目录权限 rwx rwx r-x (775) 这就是目录创建缺省权限 4) 文件权限 rw- rw- r-- (664) 这就是文件创建缺省权限

同理假设这次u m a s k值为0 2 2:1) 文件的最大权限 rwx rwx rwx (777) 2 ) u m a s k值为0 2 2 --- -w- -w-  3) 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限 4) 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限

以上就是文件权限的主要的内容。

 


 

 

0 0