拜伦的博客

Coder Byron

这里有关于iOS,机器学习的笔记心得,欢迎交流


Linux文件权限详解

目录

查看文件权限:

ls -l 在目录下列出文件列表和权限信息

-rw-r--r--   1 byron  staff    89  8 11 10:47 OWNERS
-rwxr-xr-x   1 byron  staff  4034  8 11 10:47 ensure_gn_version.py
drwxr-xr-x   3 byron  staff    96  8 11 10:47 linux64

权限信息通用格式:

-rwxr-xr-x number user group filesize updatetime filename

通用格式分为7个部分,分别是:

  1. 文件属性,共10个字符,第1个表示类型,-表示文件, d表示文件夹。后9个字符分3组,分别表示对于当前用户,当前用户所在组,其他用户的 读/写/执行权限。 r可读, w可写, x可执行 ,-无权限
  2. number表示文件的数量
  3. user表示当前用户名
  4. group表示当前用户所在组的名字
  5. filesize表示该文件大小,单位byte
  6. updatetime表示文件最后修改时间
  7. filename 文件名

上面例子中,-rw-r--r-- 表示OWNERS是一个文件,对当前用户有读写权限,没有执行权限, 当前用户所在组其他用户只有读权限,没有写和执行权限。 drwxr-xr-x表示linux64是一个文件夹,对当前用户有读写执行权限,用户组和其他用户有读和执行权限,没有写权限,且文件夹中有3个文件。

修改文件权限

修改权限的命令格式: chmod <权限范围><权限操作><具体权限> <文件或目录>

权限范围

  • u : user,当前用户
  • g :Group,当前用户所在组
  • o :Other,其他用户
  • a :All,全部用户

权限操作

+ :增加权限, - :取消权限, = :设置拥有权限,

具体权限

  • r :可读
  • w :可写
  • x :可执行

举个例子:

-rw-r--r--  1 byron  staff  0 12 27 12:04 text.txt  // 文件原始权限
chmod u+x text.txt      // 执行修改权限
-rwxr--r--  1 byron  staff  0 12 27 12:04 text.txt  // 修改后的权限
-rw-r--r--  1 byron  staff  0 12 27 12:04 text.txt // 文件原始权限
chmod a=rwx text.txt    // 执行修改权限
-rwxrwxrwx  1 byron  staff  0 12 27 12:04 text.txt // 修改后的权限
-rw-rw-rw-  1 byron  staff  0 12 27 12:04 text.txt // 文件原始权限
chmod u+x-w text.txt    // 执行修改权限
-r-xrw-rw-  1 byron  staff  0 12 27 12:04 text.txt // 修改后的权限

还有一种修改权限的命令格式: chmod <数字> <文件名> 3位数字分别表示user, group,other的权限

r = 4, w = 2, x = 1

则 rwx为 4+2+1=7, rw-为 4+2=6, r-x为4+1=5,-wx为2+1=3等等

所以我们常见的755代表rwxr-xr-x,777代表rwxrwxrwx

所以前面的chmod a=rwx filename 可以简化为chmod 777 filename

-rw-r--r--  1 byron  staff  0 12 27 12:04 text.txt // 文件原始权限
chmod 777 text.txt    // 执行修改权限
-rwxrwxrwx  1 byron  staff  0 12 27 12:04 text.txt // 修改后的权限
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦