linux对于文件和目录的权限管理

时间:2023-01-18 16:42:42

1、linux的文件类型

      1.1  linux 常见的文件类型

         -: 普通文件 (f)
        d: 目录文件 (directory)
        b: 块设备文件 (block)
        c: 字符设备文件 (character)
        l : 符号链接文件(symbolic link file)
        p: 命令管道文件(pipe)
        s:  套接字文件(socket)

      1.2  可以使用file查看文件的类型

[root@localhost test]# ll
total 8
-rw-r--r--. 1 root root 5 Apr 12 07:05 1.c
drwxr-xr-x. 2 root root 4096 Apr 12 06:22 testumask
[root@localhost test]# file 1.c
1.c: ASCII text
[root@localhost test]# file testumask/
testumask/: directory

2、linux文件以及目录的权限

  •   读(r) :用户是否有权力读文件的内容;
  •   写(w) :用户是否有权利改变文件的内容;
  •   执行(x) :用户是否有权利执行文件;
 

权限类别

文件权限

目录权限

读取(r)

可以读取文件的内容,如:可以用cat命令查看文件内容

可以对目录执行ls命令,但不允许使用-l选项,而且不能cd到目录中

修改(w)

可以修改文件的内容,如:可以使用文本编辑工具修改文本的内容

可以在目录中创建文件

 

执行(x)

可以运行某个程序(即文件可发起为进程)
重要说明:Linux系统默认对所有用户(包括管理员)都不开放执行权限

可以对目录执行ls -l,并且能够cd进去

3、linux文件系统的安全

        

  文件权限系统,将操作文件的用户都分成三类,如图所示:

  • 文件的拥有者,即属主(u)
  • 文件所属组的成员,即属组(g)
  • 其他用户(o)
  • linux对于文件和目录的权限管理

4、umask与目录和权限的关系
     
    #创建文件的权限
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1
666-umask
创建目录的权限
777-umask


5、chmod 修改文件权限
                  

   语法:chmod [options] …MODE[,MODE]… FILENAME…

        -R:递归的改变文件或者目录的权限  默认情况下目录改变的是目录自身的权限,对目录下的文件的权限不会改变 ################

        -V:

        MODE: `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'           

        说明:u=属主 g=属组 o=其他用户  a=所有用户

            +:添加权限 

            -:删除权限,用数组0表示

            r:读权限,用数字4表示,

            w:写权限,用数字2表示 

            x:执行权限,用数字1表示 

           

     5.1 增加文件所有用户组的可执行权限

chmod a+x 1.c

                   5.2  同时修改不同用户权限

chmod ug+w,o-x 1.c

                   5.3  删除文件权限

chmod a-x 1.c
                 

                   5.4  对一个目录及其子目录下所有文件添加权限

chmod -R u+x testdir


6、chown       

             -R : 处理指定目录以及其子目录下的所有文件

             -v  :显示详细的处理信息


             6.1  改变目录的拥有者和群组

chown   myuser:myuser   1.c

            6.2  只改变文件的群组

chown   :myuser    2.c

             6.3   改变指定目录下,以及其子目录下所有文件的拥有者和群组

chown -R -v root:myuser testdir