chmod 改变文件所有者

来源:互联网 发布:阿里云视频直播php 编辑:程序博客网 时间:2024/05/21 10:53

命令解释

该命令是用来更改文件所有者、用户组、其他人的读写执行权限。

权限设置数字解释

Linux文件有三种身份,并且各自有自己的read、write、execute权限,文件权限字符为“-rwxrwxrwx”这9个权限是三个三个一组的。我们可以通过数字代表各个权限。

  • r:4
  • w:2
  • x:1

每种身份各自的三个权限(r、w、x)分数是需要累加的,例如权限为[-rwxr-xr–],分数则是:
- 所有者 = rwx = 4 + 2 + 1 = 7
- 所属用户组 = r-x = 4 + 1 = 5
- 其他人 = r– = 4

所以等一下我们设置权限时,该文件权限的数字就是754

命令说明

[root@localhost home]# chmod [-R] xyz 文件或目录参数:xyz : 就是刚刚提到的数字类型的权限设置,为xyz属性数值的相加。-R : 进行递归的持续更改,即连同子目录下的所有文件都会更改。

举例

上面提到一个数字,就是将权限改为[-rwxr-xr–],我们来验证一下,看是否754能将权限改变成我们想要的结果。

[root@localhost ceshi]# ll-rw-r--r-- 1 root root 0 07-16 14:08 123[root@localhost ceshi]# chmod 754 123[root@localhost ceshi]# ll-rwxr-xr-- 1 root root 0 07-16 14:08 # 这样,就成功将这个文件的权限改为我们想要的结果

符号方式改变权限

从之前的介绍中,我们可以发现,基本上就9个权限。三种身份分别是user,group,other3种身份。那么我们就可以通过u、g、o来代表3种身份的权限。此外a代表all,也即全部的身份。那么读写的权限就可以写成r、w、x。

  • + (加入)
  • - (除去)
  • = (设置)

咱们试想一下,假如我们设置一个文件的权限为”-rwxr-xr-x”时,该怎么办。

  • user(u):具有可读、科协、可执行的权限。
  • group和others(g/o):具有可读与可执行的权限。

所以我们就得出了以下操作:

[wenjie@localhost ceshi]$ ll-rwx------ 1 root root 0 07-16 14:08 123[root@localhost ceshi]# chmod u=rwx,go=rx 123# 注意:那个 u=rwx,go=rx是连在一起的,中间没有任何空格[root@localhost ceshi]# ll-rwxr-xr-x 1 root root 0 07-16 14:08 12

如果我们要将所有人的执行权限给去掉,我们当然可以使用“chmod u=rw,og=r 123”,但是有没有比较简单的方法呢?

[root@localhost ceshi]# chmod a-x 123[root@localhost ceshi]# ll-rw-r--r-- 1 root root 0 07-16 14:08 123# 这样我们就成功将所有人的执行权限给去掉了

如果我们要将所有人加上写入权限,想必不用我说,你也知道了。

[root@localhost ceshi]# chmod a+w 123[root@localhost ceshi]# ll-rw-rw-rw- 1 root root 0 07-16 14:08 123
0 0