如果你是一名Linux系统管理员或开发者,那么你肯定会遇到文件权限的问题。在Linux中,文件权限可以通过 chmod 命令进行设置和修改,但这个命令的使用方法相当地复杂,给很多初学者带来了不少困扰。今天,我们就来深入探讨一下 chmod 命令,让 Linux 权限管理不再成为你的噩梦。
对于目录来说,执行位的作用是控制能否进入或者通过该目录,而不是控制能否列出它的内容。读取位和执行位的组合的作用才是控制是否列出目录中的内容。写入位和执行位的组合则是允许在目录中创建,删除,和重命名文件。
下面用实例来说明问题:主要命令为chmod
普通用户创建文件夹linuxidc,默认权限为775
linuxidc@Ubuntu:~/linuxidc.com$ mkdir linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 drwxr-xr-x 2 linuxidc linuxidc 4096 Feb 16 20:18 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ total 0
更改目录权限到700,目录内可列可创建文件
linuxidc@ubuntu:~/linuxidc.com$ chmod 700 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ uptime > linuxidc/uptime linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 drwx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ total 4 -rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime 20:22:23 up 13:22, 1 user, load average: 0.00, 0.08, 0.20
更改目录权限到400,目录内不可列详情,不可CAT,不可创建文件
linuxidc@ubuntu:~/linuxidc.com$ chmod 400 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ ls: cannot access 'linuxidc/uptime': Permission denied total 0 -????????? ? ? ? ? ? uptime linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 dr-------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime cat: linuxidc/uptime: Permission denied linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxmi touch: cannot touch 'linuxidc/linuxmi': Permission denied
更改目录权限到100,目录内不可列,目录可进入,不可创建文件,可Cat内文件(当然文件的权限要有,而且知道它的名字,不能联想)
linuxidc@ubuntu:~/linuxidc.com$ chmod 100 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 d--x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ ls: cannot open directory 'linuxidc/': Permission denied linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/uptime -rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 linuxidc/uptime linuxidc@ubuntu:~/linuxidc.com$ cd linuxidc/ linuxidc@ubuntu:~/linuxidc.com/linuxidc$ ls -l ls: cannot open directory '.': Permission denied linuxidc@ubuntu:~/linuxidc.com/linuxidc$ cat uptime 20:22:23 up 13:22, 1 user, load average: 0.00, 0.08, 0.20 linuxidc@ubuntu:~/linuxidc.com/linuxidc$ touch linuxmi touch: cannot touch 'linuxmi': Permission denied
更改目录权限到200,目录内不可列,不可CAT,不可创建文件,
linuxidc@ubuntu:~/linuxidc.com$ chmod 200 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 d-w------- 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ ls: cannot open directory 'linuxidc/': Permission denied linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime cat: linuxidc/uptime: Permission denied linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc touch: cannot touch 'linuxidc/linuxidc': Permission denied
更改目录权限到500,目录内可列,可CAT,不可创建文件,
linuxidc@ubuntu:~/linuxidc.com$ chmod 500 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 dr-x------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ total 4 -rw-r--r-- 1 linuxidc linuxidc 61 Feb 16 20:22 uptime linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime 20:22:23 up 13:22, 1 user, load average: 0.00, 0.08, 0.20 linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linuxidc.com touch: cannot touch 'linuxidc/linuxidc.com': Permission denied
更改目录权限到300,目录内不可列,可CAT(当然文件的权限要有,而且知道它的名字,不能联想),可创建文件,
linuxidc@ubuntu:~/linuxidc.com$ chmod 300 linuxidc/ linuxidc@ubuntu:~/linuxidc.com$ ls -l total 4 d-wx------ 2 linuxidc linuxidc 4096 Feb 16 20:22 linuxidc linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc/ ls: cannot open directory 'linuxidc/': Permission denied linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc/uptime 20:22:23 up 13:22, 1 user, load average: 0.00, 0.08, 0.20 linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc/linux linuxidc@ubuntu:~/linuxidc.com$
备注:700=rwx, 400=r, 100=x, 200=w, 500=rx, 300=wx
通过本文的介绍,我们已经深入地了解与学习了Linux中常用的文件权限管理命令chmod。从命令语法、权限类型、数字代表及实际使用场景这些方面进行了详细的说明,相信对初学者来说非常有帮助。同时,建议大家多多练习并且结合实际操作加深对于文件权限的理解与掌握。正确的权限管理可以保证系统的安全性和稳定性,也是运维工作中必不可少的一部分!
以上是不再害怕chmod命令,让Linux权限管理不再成为你的噩梦!的详细内容。更多信息请关注PHP中文网其他相关文章!