ls -l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 file01

- 10个字符确定不同用户能对文件干什么

- 第一个字符代表文件(-)、目录(d),链接(l)

- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

- 第一组rwx:(属主)文件所有者的权限是读、写和执行

- 第二组rw-:(属组)与文件所有者同一组的用户的权限是读、写但不能执行

- 第三组r--:(其他用户)不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

- 1 表示连接的文件数

- root 表示用户属主

- root表示用户属组

- 1213 表示文件大小(字节)

- Feb 2 09:39 表示最后修改日期

- file01 表示文件名

权限管理:

chown、chgrp、chmod、umask

chown:改变文件属主和属组

[root@liang-study home]# ll yull.txt -rw-r--r--. 1 root root 0 Dec 14 23:16 yull.txt[root@liang-study home]# chown user02:user01 yull.txt [root@liang-study home]# ll yull.txt -rw-r--r--. 1 user02 user01 0 Dec 14 23:16 yull.txt

-R:递归修改目录下所有文件的属主和属组

--reference 参考文件 被修改文件:将被修改文件的属主和属组修改为参考文件的属主和属组

chgrp:修改文件的属组

[root@liang-study home]# ll yull.txt -rw-r--r--. 1 user02 root 0 Dec 14 23:16 yull.txt

chmod:修改文件权限

 修改三组用户权限

[root@liang-study home]# chmod 755 yull.txt   #修改权限为755

  修改某类用户的权限

[root@liang-study home]# chmod g=rwx yull.txt   #修改组权限[root@liang-study home]# chmod a=rwx yull.txt    #修改所有权限[root@liang-study home]# chmod o=w,u=rwx yull.txt   #修改其他用户为写入权限,属主为读写执行

 修改某类用户的某个权限

[root@liang-study home]# chmod o+w yull.txt    #给其他用户添加写权限[root@liang-study home]# chmod o-x yull.txt    #给其他用户删除执行权限

umask:设置文件的遮罩码

什么是umask

   你的系统管理员必须要为你设置一个合理的 umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命 令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc /profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile或.bashrc文件中。

    管理员的umask为:0022

    普通用户的umask为:0002

          创建文件的默认权限就是666-umask

          创建目录的默认权限就是777-umask

    因此,假设使用root用户登录,umask为0022,则创建文件的权限的为666-022=644

               假设使用普通用户登录,umask为0002,则创建文件的权限的为666-002=664

    可以通过umask来设置umask值。

例子:

[root@liang-study tmp]# umask 023[root@liang-study tmp]# touch a.txt[root@liang-study tmp]# mkdir test[root@liang-study tmp]# lltotal 4-rw-r--r-- 1 root root    0 Dec 16 17:26 a.txtdrwxr-xr-- 2 root root 4096 Dec 16 17:26 test

注:上例中,我们设置了umask码为023,因此创建目录test时权限为777-023=754

  按照前面的叙述,创建文件a.txt文件时应为666-023为643,但实际表现为644,这是因为linux默认不允许文件有执行权限,故如果umask设置为文件有执行权限,在创建时会自动加1。