linux文件属性权限相关

一个linux目录或者文件,都会有一个所属主和所属组。

所属主,即文件的拥有者,而所属组,即该文件所属主所在的一个组。

linux文件属性

包括文件类型 - d  l  b c s 依次表示 普通文件,目录,链接文件,块设备文件如磁盘等,字符设备文件例如键盘、鼠标,套接字文件

文件权限

所属主u

所属组g

其他非主组o

更改文件所属主

chown 

  chown -R  账户名 文件名

  chown -R 账户名:组名  文件名

这里的-R选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件全部更改。

chmod 

 更改用户权限

linux使用数字去代替rwx, 具体规则为 ‘r’ 等于4, ‘w’ 等于2, ‘x’ 等于1, ‘-‘ 等于0.

举个例子: ‘-rwxrwx---’ 用数字表示就是 ‘770’,

具体是这样来的: ‘rwx’ = 4+2+1=7; ‘rwx’ = 4+2+1=7; ‘- - -‘ = 0+0+0=0.

chmod -R跟chown中的-R一样都是连级更改

chmod 777  filename

chmod -R 777 dfilename

还可以chmod  ugo+wrx  filename

         chmod u+wrx filename

         chmod u-wrx filename

         chmod u=wrx filename

值得提一下的是,在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644.

主要原因是umask值决定默认文件权限

umask预设是0022,其代表什么含义?先看一下下面的规则:

1)若用户建立为普通文件,则预设 ‘没有可执行权限’, 只有’rw’两个权限。最大为666 (‘-rw-rw-rw-‘).

2)若用户建立为目录,则预设所有权限均开放,即777 (‘drwxrwxrwx’).

umask数值代表的含义为,上边两条规则中的默认值(文件为666,目录为777)需要减掉的权限。所以目录的权限为 'rwxrwxrwx' - '----w--w-' = 'rwxr-xr-x',普通文件的权限为 'rw-rw-rw-' - '----w--w-' = 'rw-r--r--'. umask的值是可以自定义的,比如设定umask 为 002,您再创建目录或者文件时,默认权限分别为 'rwxrwxrwx' - '-------w-' = 'rwxrwxr-x''rw-rw-rw-' - '-------w-' = 'rw-rw-r--'.

umask 可以在 /etc/bashrc 里面更改,预设情况下,root的umask为022,而一般使用者则为002

  修改文件的特殊属性

  chattr

  语法 chattr  [+-=] [ASaci ] 文件或者目录名称  

   ‘+-=’ : 分别为增加、减少、设定

    ‘A’ : 增加该属性后,文件或目录的atime将不可被修改;

    ‘S’ : 增加该属性后,会将数据同步写入磁盘中;

    ‘a’ : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;

    ‘c’ : 自动压缩该文件,读取时会自动解压;

    ‘i’ : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据;i’ 权限后,即使是root账户也不能删除

    lsattr

  该命令用来读取文件或者目录的特殊权限。

   lsattr [-aR]  filename

   ‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出;

   ‘-R’ : 连同子目录的数据一同列出

   

原文地址:https://www.cnblogs.com/yuankaituo/p/4308173.html