[root@localhost /]# ls -al
总用量 696
dr-xr-xr-x. 18 root root 271 2月 11 11:34 .
dr-xr-xr-x. 18 root root 271 2月 11 11:34 ..
lrwxrwxrwx. 1 root root 7 10月 19 17:57 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 1月 17 15:46 boot
drwxr-xr-x. 20 root root 3220 3月 26 15:52 dev <=范例说明处
---------------------------------------------------
-rw-r--r--. 1 root root 683170 2月 11 11:34 dump.rdb <=范例说明处
--------------------------------------------------------
-rw-r–r--. | 1 | root | root | 6 | 2月 11 11:34 | dump.rdb |
---|---|---|---|---|---|---|
文件类型权限 | 链接数 | 文件所有者 | 文件所属用户组 | 文件容量 | 文件最后修改时间 | 文件名 |
字符 | 文件类型 |
---|---|
d | 目录 |
- | 普通文件 |
I | 软链接,即链接文档(link file) |
b | 块设备,装置文件中可供存储的接口设备(可随机存储装置) |
c | 字符设备,装置文件中串行端口设备(一次性读取装置) |
s | 网络套接字(socket |
p | 管道(piep) |
在Linux系统下,你的帐号会加入于一个或多个的群组中。举个例子,class1, class2, class3均属于
projecta这个群组,假设某个文件所属的群组为projecta,且该文件的权限如(-rwxrwx—), 则class1, class2,
class3三人对于该文件都具有可读、可写、可执行的权限(看群组权限)。
但如果是不属于projecta的其他帐号,对于此文件就不具有任何权限了。
比较特殊的是:如果文件名之前多一个“ . ”,则代表这个文件为“隐藏文件”。
drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai
chgrp
:改变文件所属群组chown
:改变文件拥有者chmod
:改变文件的权限, SUID, SGID, SBIT等等的特性chgrp
chgrp
即change group的缩写。请记得,要被改变的群组名称必须要在/etc/group
文件内存在才行chgrp [-R] dirname/filename
选项与参数:
-R
: 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
[root@localhost eye_v2]# chgrp java deploy/
[root@localhost eye_v2]# ls -al
总用量 0
drwxr-xr-x. 3 root root 20 3月 26 15:55 .
drwxr-xr-x. 4 root root 37 3月 26 15:55 ..
drwxr-xr-x. 5 root java 68 3月 27 10:18 deploy
chown
chown
即change owner的缩写。使用者必须是已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者名称才能改变。chown [-R] 帐号名称 文件或目录
chown [-R] 帐号名称:群组名称 文件或目录
选项与参数:
-R
: 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都变更
[root@localhost eye_v2]# chown guns deploy/
[root@localhost eye_v2]# ls -l
总用量 0
drwxr-xr-x. 5 guns java 68 3月 27 10:18 deploy
[root@localhost eye_v2]# chown root:root deploy/
[root@localhost eye_v2]# ls -l
总用量 0
drwxr-xr-x. 5 root root 68 3月 27 10:18 deploy
chmod
-rwxrwxrwx
”, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:权限字符 | 分数 |
---|---|
r | 4 |
w | 2 |
x | 1 |
chmod [-R] xyz 文件或目录
选项与参数:
xyz
: 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R
: 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rw-------. 1 root root 14910 3月 27 10:20 nohup.out
[root@localhost eye_wechat_v2]# chmod 777 nohup.out
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rwxrwxrwx. 1 root root 14910 3月 27 10:20 nohup.out
常常我们以vim编辑一个shell的文字批处理文件后,他的权限通常是 -rw-rw-r--
也就是664, 如果要将该文件变成可执行文件,并且不要让其他人修改此一文件的话, 那么就需要-rwxrxr-x
这样的权限,此时就得要下达:chmod 755 test.sh
如果有些文件你不希望被其他人看到,那么应该将文件的权限设置为例如:-rwxr-----
,那就下达chmod 740 filename
再把刚刚nohup.out
改回原来的-rw-------
,那么就执行
[root@localhost eye_wechat_v2]# chmod 600 nohup.out
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rw-------. 1 root root 14910 3月 27 10:20 nohup.out
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rw-------. 1 root root 14910 3月 27 10:20 nohup.out
u=rwx,go=rx
是连在一起的,中间并没有任何空白字符[root@localhost eye_wechat_v2]# chmod u=rwx,go=rx nohup.out
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rwxr-xr-x. 1 root root 14910 3月 27 10:20 nohup.out
[root@localhost eye_wechat_v2]# chmod u-x,go-rwx nohup.out
[root@localhost eye_wechat_v2]# ls -al nohup.out
-rw-------. 1 root root 14910 3月 27 10:20 nohup.out
chmod a+w fileName
。chmod a-x fileName
可执行(x)就必须要小心啦! 因为在Windows下面一个文件是否具有执行的能力是借由“ 扩展名 ”来判断的, 例如:.exe, .bat, .com 等等,但是在Linux下面,我们的文件是否能被执行,则是由是否具有“x”这个权限来决定的!跟文件名是没有绝对的关系的。
当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限, 但并不具备有删除该文件本身的权限。
ls
这个指令将该目录的内容列表显示出来!cd
(change directory)元件 | 内容 | 叠代物件 | r | w | x |
---|---|---|---|---|---|
文件 | 详细资料data | 文件文件夹 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
目录 | 文件名 | 可分类抽屉 | 读到文件名 | 修改文件名 | 进入该目录的权限 |
[root@localhost deploy]# mkdir testing
[root@localhost deploy]# chmod 744 testing/
[root@localhost deploy]# touch testing/testing
[root@localhost deploy]# chmod 600 testing/testing
[root@localhost deploy]# ls -ald testing testing/testing
drwxr--r--. 2 root root 21 3月 27 17:48 testing
-rw-------. 1 root root 0 3月 27 17:48 testing/testing
r
的权限可以查询档名。由于权限不足(没有 x),所以会有一堆问号。[root@localhost ~]# su zhaoyoung
[zhaoyoung@localhost root]$ cd /home/eye_v2/deploy/
[zhaoyoung@localhost deploy]$ ls -l testing/
ls: 无法访问testing/testing: 权限不够
总用量 0
-????????? ? ? ? ? ? testing
[zhaoyoung@localhost deploy]$ cd testing/
bash: cd: testing/: 权限不够
设置zhaoyoung
用户对testing
目录的权限
[root@localhost deploy]# chown zhaoyoung testing/
[root@localhost deploy]# ls -ld testing/
drwxr--r--. 2 zhaoyoung root 21 3月 27 17:48 testing/
再使用zhaoyoung
去处理
[zhaoyoung@localhost deploy]$ cd testing/
[zhaoyoung@localhost testing]$ ls -l
总用量 0
-rw-------. 1 root root 0 3月 27 17:48 testing
[zhaoyoung@localhost testing]$ rm testing
rm:是否删除有写保护的普通空文件 "testing"?
x
在目录当中是与『能否进入该目录』有关, 至于那个 w
则具有相当重要的权限,因为他可以让使用者删除、更新、新建文件或目录, 是个很重要的参数。/dir1/file1
/dir2
假设现在用zhaoyoung
这个账号去处理。
操作动作 | /dir1 | /dir1/file1 | /dir2 | 重点 |
---|---|---|---|---|
读取 file1 内容 | x | r | - | 要能够进入 /dir1 才能读到里面的文件数据 |
修改 file1 内容 | x | rw | - | 能够进入 /dir1 且修改 file1 才行 |
执行 file1 内容 | x | rx | - | 能够进入 /dir1 且 file1 能运作才行 |
删除 file1 内容 | wx | - | - | 能够进入 /dir1 具有目录修改的权限即可 |
将 file1 复制到 /dir2 | x | r | wx | 要能够读 file1 且能够修改 /dir2 内的数据 |