设置文件和目录的一般权限 :
修改文件或目录的权限 : chmod 命令
命令格式 1 : chmod [-选项] [u/g/o/a] [+-=] [rwx] 文件或目录...
注 : # ugoa : 就是我们上篇讲到的 :
===>>>
u :
用户
g :
用户组
o :
其他人
a :
所有(用户、用户组、其他人)
# + - = : 就是对权限的 增加
减少 赋予
示例 :
[root@bogon ~]# ls -l lxxgz.txt -rw-r--r--. 1 root root 24 Sep 17 23:18
lxxgz.txt
# 先来看看文件的权限 :
===>>> 用户 : rw ( 读 和 写)
用户组 : r ( 读 )
其他人 : r ( 读 )
# 现在来改变 此文件的权限 :
===>>> 给用户 添加 执行 的权限 :
[root@bogon ~]# chmod u+x lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rwxr--r--. 1 root root 24 Sep 17 23:18 lxxgz.txt
===>>> 给用户组 添加 写 和 执行 的权限
[root@bogon ~]# chmod g+wx lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rwxrwxr--. 1 root root 24 Sep 17 23:18 lxxgz.txt
===>>> 给 其他人 添加 写和执行 的权限
[root@bogon ~]# chmod o+wx lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rwxrwxrwx. 1 root root 24 Sep 17 23:18 lxxgz.txt
===>>> 给所有人 减去 x 权限
[root@bogon ~]# chmod a-x lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rw-rw-rw-. 1 root root 24 Sep 17 23:18 lxxgz.txt
===>>> 给其他人 赋予 只读 的权限
[root@bogon ~]# chmod o=r lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rw-rw-r--. 1 root root 24 Sep 17 23:18 lxxgz.txt
命令格式2: chmod [-选项] nnn 文件或目录...
注 : nnn 代表的就是 以数字代表的权限 !!
示例 :
[root@bogon ~]# ls -l lxxgz.txt -rw-rw-r--. 1 root root 24 Sep 17 23:18
lxxgz.txt
上示的权限以数字表示即是 : 664
===>>> 现在把权限修改成 666
[root@bogon ~]# chmod 666 lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rw-rw-rw-. 1 root root 24 Sep 17 23:18 lxxgz.txt
上示权限即为 666 的权限表示 !! (666 就代表着 用户 用户组 其他用户 均为
可读 可写 的权限 !)
常用选项 :
我们常用选项其实主要就是 : -R ( 它主要是针对 目录 !)
-R : 其实代表的意思就是 递归!!
( 递归修改指定目录下所有文件、子目录的权限!)
示例 :
查看下 目录 right_dir 的权限 :
[root@bogon ~]# ls -ld right_dir drwxr-xr-x. 2 root root 45 Oct 30 11:35
right_dir
查看 目录 right_dir 下的内容 :
[root@bogon right_dir]# ls -l total 0 -rw-r--r--. 1 root root 0 Oct 30 11:35
file1 -rw-r--r--. 1 root root 0 Oct 30 11:35 file2 -rw-r--r--. 1 root root 0
Oct 30 11:35 file3
现在修改下 目录 的权限 :
[root@bogon ~]# chmod 777 right_dir [root@bogon ~]# ls -ld right_dir
drwxrwxrwx. 2 root root 45 Oct 30 11:35 right_dir
再查看下 目录下 内容权限的变化 :
[root@bogon ~]# ls -l right_dir total 0 -rw-r--r--. 1 root root 0 Oct 30 11:35
file1 -rw-r--r--. 1 root root 0 Oct 30 11:35 file2 -rw-r--r--. 1 root root 0
Oct 30 11:35 file3
注 : 发现当 目录的权限改变后,其目录下的内容权限并没有随之变化,也就
是说 只改变 目录自己的权限,并不能改变其 目录下的内容的权限!!
那么,当我们想要修改 目录下的文件或子目录的时候,只修改目录自己的权限
看来不起作用,那怎么办???
这时,就需要 -R 选项的作用了!!( 递归 !!)
===>>> 使用 -R 选项 :
[root@bogon ~]# ls -ld right_dir drwxrwxrwx. 2 root root 45 Oct 30 11:35
right_dir [root@bogon ~]# chmod -R 777 right_dir [root@bogon right_dir]# ls -l
total 0 -rwxrwxrwx. 1 root root 0 Oct 30 11:35 file1 -rwxrwxrwx. 1 root root 0
Oct 30 11:35 file2 -rwxrwxrwx. 1 root root 0 Oct 30 11:35 file3
会发现,当使用 -R 选项 便会使 目录下所有内容的权限都随之改变 !!
修改文件或目录的属主和属组:chown 命令
注 : 我们说过 ls - l 长格式展示文件的信息里面 展示的 用户 和 用户组 其实,并不
一定就是创建文件的用户 和 用户组;
文件的 用户 和 用户组 是可以修改的 !!
chown 命令就可以改变 文件的所属用户 和 所属用户组 !!
命令格式 : chown [-选项] 新属主[:[新属组]] 文件或目录
我们将上面的格式再细化下 :
===>>> 1. 修改文件的所属主 ( 用户 )
chown 所属主 文件或目录
[root@bogon ~]# ls -l lxxgz.txt -rw-rw-rw-. 1 root root 24 Sep 17 23:18
lxxgz.txt [root@bogon ~]# chown rhcsa lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rw-rw-rw-. 1 rhcsa root 24 Sep 17 23:18 lxxgz.txt
可以看到 文件的所属主 发生了改变 ,变为 rhcsa
===>>> 2. 修改文件的 所属组 ( 用户组 )
chown :所属组 文件 或 目录
[root@bogon ~]# chown :rhcsa lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt
-rw-rw-rw-. 1 rhcsa rhcsa 24 Sep 17 23:18 lxxgz.txt
注意 : 改用户组的时候 是有 冒号的 :
改组还有一个 专门的命令 --- chgrp
格式 : chgrp 所属组 文件或目录
===>>> 3. 修改文件 所属用户 和 所属组
3.1 chown 用户名 : 用户组 文件或目录
3.2 chown 用户名 . 用户组
文件或目录
[root@bogon ~]# ls -l lxxgz.txt -rw-rw-rw-. 1 root root 24 Sep 17 23:18
lxxgz.txt [root@bogon ~]# chown rhcsa:rhcsa lxxgz.txt [root@bogon ~]# ls -l
lxxgz.txt -rw-rw-rw-. 1 rhcsa rhcsa 24 Sep 17 23:18 lxxgz.txt [root@bogon ~]#
ls -l lxxgz.txt -rw-rw-rw-. 1 rhcsa rhcsa 24 Sep 17 23:18 lxxgz.txt [root@bogon
~]# chown root.root lxxgz.txt [root@bogon ~]# ls -l lxxgz.txt -rw-rw-rw-. 1
root root 24 Sep 17 23:18 lxxgz.txt