Linux在目录中执行增删查改命令时,需要哪些权限

时间:2022-03-16 17:45:42

1.执行 cd 进入目录的指令需要的权限
       首先新建三个目录,day01,day02,day03

[admin@localhost test1]$ mkdir day01
[admin@localhost test1]$ mkdir day02
[admin@localhost test1]$ mkdir day03
[admin@localhost test1]$ ls
day01  day02  day03
[admin@localhost test1]$ ll
total 12
drwxrwxr-x. 2 admin admin 4096 Mar 14 07:43 day01
drwxrwxr-x. 2 admin admin 4096 Mar 14 07:43 day02
drwxrwxr-x. 2 admin admin 4096 Mar 14 07:43 day03

    用 chmod指令 修改权限,将day01 的 r 权限去掉,将day02 的 w 权限去掉,将day03 的 x 权限去掉

[admin@localhost test1]$ chmod 333 day01
[admin@localhost test1]$ chmod 555 day02
[admin@localhost test1]$ chmod 666 day03
[admin@localhost test1]$ lltotal 12d-wx-wx-wx. 2 admin admin 4096 Mar 14 07:43 day01dr-xr-xr-x. 2 admin admin 4096 Mar 14 07:43 day02drw-rw-rw-. 2 admin admin 4096 Mar 14 07:43 day03


重新进入到三个目录

[admin@localhost test1]$ cd day01
[admin@localhost day01]$
[admin@localhost test1]$ cd day02[admin@localhost day02]$
[admin@localhost test1]$ cd day03bash: cd: day03: Permission denied
 

发现可以进入到day01,day02目录,day03进不去,所以进入目录需要 x 执行 权限

2.执行 touch 创建文件指令需要的权限

首先新建三个文件day03,day04,day05

[admin@localhost day01]$ touch test
[admin@localhost day01]$ ls
ls: cannot open directory .: Permission denied
[admin@localhost day02]$ ls[admin@localhost day02]$ touch testtouch: cannot touch `test': Permission denied

进入到day01,day02 目录中创建文件,发现在day01创建文件成功但是不能显示,在day02 中不能创建,所以创建文件需要 w 写权限

3.ls 查看命令需要的权限

[admin@localhost day01]$ ls
ls: cannot open directory .: Permission denied
[admin@localhost day02]$ ls[admin@localhost day02]$ 

查看day01,day02 目录下的内容,day01查看失败,day02 可以查看,所以 ls 指令需要 r 读权限

4. 执行 rm 删除指令需要的权限

首先将day01权限改为777,进入到day01目录

[admin@localhost test1]$ chmod 777 day01
[admin@localhost test1]$ cd day01
[admin@localhost day01]$ ls
test

将test权限改为000,然后加上 x 执行权限进入到 test 目录中

[admin@localhost day01]$ chmod 000 test
[admin@localhost day01]$ ll
total 0
d---------. 1 admin admin 0 Mar 14 09:01 test
[admin@localhost day01]$ chmod u+x  test[admin@localhost day01]$ lltotal 0d--x------. 1 admin admin 0 Mar 14 09:08 test
[admin@localhost test]$ rm heherm: cannot remove `hehe': Permission denied[admin@localhost test]$ cd ..[admin@localhost day01]$ chmod u+r test[admin@localhost day01]$ cd test[admin@localhost test]$ rm heherm: cannot remove `hehe': Permission denied[admin@localhost test]$ cd ..[admin@localhost day01]$ chmod u+w test[admin@localhost day01]$ cd test[admin@localhost test]$ rm hehe[admin@localhost test]$ lshaha

加上 x 权限并不能删除 hehe 文件,然后我们再给 test 加上  r 权限,发现还是不能删除文件,这是我们再退回到上一级目录,给 test 加上 w 权限,这是 hehe  文件就能删除了。

所以,执行 rm 指令需要 w 权限。

5.执行 mv 指令需要的权限

[admin@localhost day01]$ chmod 000 test
[admin@localhost day01]$ ll
total 4
d---------. 3 admin admin 4096 Mar 14 09:32 test
[admin@localhost day01]$ chmod u+x test
[admin@localhost day01]$ ll
total 4
d--x------. 3 admin admin 4096 Mar 14 09:32 test
[admin@localhost day01]$ cd test
[admin@localhost test]$ mv haha hehe
mv: cannot move `haha' to `hehe': Permission denied
[admin@localhost test]$ cd ..
[admin@localhost day01]$ chmod u+r test
[admin@localhost day01]$ cd test
[admin@localhost test]$ mv haha hehe
mv: cannot move `haha' to `hehe': Permission denied
[admin@localhost test]$ cd ..
[admin@localhost day01]$ chmod u+w test[admin@localhost day01]$ cd test[admin@localhost test]$ mv haha hehe[admin@localhost test]$ lshehe
先将 test 权限设为000,然后给 test 加上 x 权限,进入到test 目录后不能执行 mv 指令,返回上一级目录,加上 r 权限,操作还是不成功,最后,给 test 加上w 权限,mv 指令成功执行。所以,执行 mv 指令需要 w 权限。