chmod修改文件的权限/chown修改文件和目录的所有者

时间:2021-09-14 19:35:23

ll指令的显示的信息为(当前目录下只有nameservice1一个目录):

drwxr-xr-x 3 hdfs hdfs 4096 4月  14 16:19 nameservice1

上述信息分别表示:权限(drwxr-xr-x 3)、所属用户(hdfs)和组(hdfs)、大小(4096)、时间(4月 14 16:19)、名称(nameservice1)。

权限中的字母一共有10位数:

其中,第1位有两种选择:-表示是文件,d表示是目录。此处是d,表示nameservice1是目录;

    第2位到第4位rwx表示的是所有者(所属用户hdfs)的权限;

第5位到第7位r-x表示的是组(hdfs)的权限;

第8位到第10位r-x表示的是其他人(other)的权限;
另外,
   r 表示文件可以被读(read)
   w 表示文件可以被写(write)
   x 表示文件可以被执行(如果它是程序的话)
   - 表示相应的权限还没有被授予

1.修改文件的权限

查看当前文件文件temp的权限信息:

ll | grep temp

-rw-rw-r--  1 root root      4405  3月 17 11:50 temp

修改文件权限的指令:

chmod o+w temp

表示给文件temp授予其他人写权限,现在查看temp的权限信息:

-rw-rw-rw-  1 root root      4405  3月 17 11:50 temp

我们发现第9位多出了一个w。

其中参数表示的意义为:
  u 代表所有者(user)
  g 代表所有者所在的组群(group)
  o 代表其他人,但不是u和g (other)
  a 代表全部的人,也就是包括u,g和o
  r 表示文件可以被读(read)
  w 表示文件可以被写(write)
  x 表示文件可以被执行(如果它是程序的话)
  其中:rwx也可以用数字来代替
  r  ------------4
  w ------------2
  x ------------1
  - ------------0  行动:
  + 表示添加权限
  - 表示删除权限
  = 表示使之成为唯一的权限  当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
  -rw------- (600) 只有所有者才有读和写的权限
  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  -rwx------ (700) 只有所有者才有读,写,执行的权限
  -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  -rw-rw-rw- (666) 每个人都有读写的权限
  -rwxrwxrwx (777) 每个人都有读写和执行的权限

2.修改目录的所有者和群组

将目录的所有者修改为root:root(第一个root表示组,第二个root表示用户)。  该指令需要在root权限下使用。

chown -R root:root nameservice1

此时再执行ll,显示结果为:

drwxr-xr-x 3 root root 4096 4月  14 16:19 nameservice1

将目录换成文件的名字就可以修改文件的所有者了,例如:

chown -R root:root test.txt

只改变文件或目录的所有者

chown -R owner: test.txt

只改变文件或目录的群组

chown -R :group test.txt