linux chmod命令更改文件的读写执行权限

linux chmod 命令 是在日常运维中比较常用的命令之一,对 文件管理 比较重要,如设置 web 目录时需设置特定的权限以保证服务器安全。
提示:在写完 shell 脚本 后,我们一般需要给这脚本设置权限: chmoda+x shell.sh
有很多人,特别是搞开发的程序员,不懂权限,对程序及目录直接给予 chmod-R 777file 这种最高级的权限,对服务器安全会造成很大的安全隐患 ,一般不建议这样设置,在线上服务器上,可配置 chown 来设置 web 目录权限,如对用户上传图片的目录设置为 web 执行用户者的权限,对需要用程序操作的 web 中目录,也同样的设置 :chown-R apache:apacheweb ,其它只读的文件或目录,保持 root 权限即可,这样可以增加服务器安全性
linux
命令 :chmod
使用权限 : 所有用户
使用方式 :chmod [-cfvR] [--help] [--version] mode file...
说明 :Linux/Unix  的文件调用权限分为三级 : 文件拥有者 [ 属主 ] 、属组、其他用户。利用 chmod 可以控制文件如何被他人所调用。
chmod 相关的命令: chown,umask,
参数 :
mode: 
权限设定字串,格式如下 :[ugoa...][[+-=][rwxX]...][,...] ,其中
u
表示该文件的拥有者 [user]
g
表示与该文件的拥有者属于组 (group)
o
表示其他用户 [other]
a
表示这三者皆是[all] 。(常用)
+
表示增加权限、(常用)
-
表示取消权限、(常用)
=
表示唯一设定权限。

r
表示有可读取的权限,
w
表示有可写入的权限,
x
表示有可执行的权限,
X
表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

   -c:  若该文件权限确实已经更改,才显示其更改动作
   -f:  若该文件权限无法被更改也不要显示错误讯息
   -v:  显示权限变更的详细资料
-R : 
对目前目录下的所有文件与子目录进行相同的权限变更   (常用)
--help : 
显示帮助
--version : 
显示版本

r=4
(二进制 100 ),
w=2
(二进制 010 ),
x=1
(二进制 001
   rwx 属性则 4+2+1=7
    rw- 属性则 4+2=6
   r-x 属性则 4+1=5


[root@linuxywlinux]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 29 14:50linuxyw
-rw-r--r--1 root root 36 Apr 27 23:40 linuxyw.com
-rw-r--r-- 1 root root 0 Apr 29 14:46 www.linuxyw.com

示例: 给文件修改所有为 所有人 可读权限:
chmodugo+r linuxyw.com

chmoda+r linuxyw.com
给文件修改所有为 所有人 可执行权限:
chmoda+x linuxyw.com
给文件修改所有为文件属主用户可执行权限:
chmodu+x linuxyw.com
linuxyw 目录下 的文件设置为所有人可执行权限:
chmod-R a+x linuxyw/
linuxyw 目录下的文件全部设置为 755 权限:
chmod-R 755 linuxyw/
取消 linuxyw 目录下的所有文件可写权限:
chmod-R a-w linuxyw/

先看一下文件的权限格式先看一下文件的权限格式
[root@linuxywlinux]# ll
total 8
drwxr-xr-x2 root root 4096 Apr 29 14:50 linuxyw
-rw-r--r--1 root root 36 Apr 27 23:40 linuxyw.com
-rw-r--r--1 root root 0 Apr 29 14:46www.linuxyw.com

ll
的结果返回七列,分别表示如下含义:
第一栏   [ 文件属性]
第二栏   [ 文件数]
第三栏   [ 拥有者 ]
第四栏   [ 所有者群组 ]
第五栏   [ 大小 ]
第六栏   [ 建档日期 ]
第七栏   [ 档名 ]
我们设置文件的权限就是这是第一栏里的文件属性。

文件属性这块共有十个字段,如: drwxr-xr-x

我们把这 10 个列分成 4 块: [d][rwx] [r-x] [r-x]
第一块:也就是第一列,用来表示这个文件的类型,有如下值:
1 [d ] 则是目录,我这里的是 d ,表示的是一个目录
2 [- ] 则是文件;
3 [l ] 则表示为连结档 (linkfile)
4 [b ] 则表示为装置文件里面的可供储存的接口设备;
5 [c ] 则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
第二块:第 2 4 列,表示文件拥有者的权限。
第三块:第 5 7 列,表示拥有者同组人的权限。
第四块:第 8 10 列,表示是非拥有者组人的权限。
这些权限均有 [rwx] 三个参数表示,而且分别对应不同的位置。每块由 3 个列组成,每列对应一个值。 [r ] 代表可读、 [w ] 代表可写、 [x ] 代表可执行。
举例: 如果拥有者只有只读的权限,那么第 2 4 列就是 [r--], 有读写的权限就是 [rw-], 有读写和执行的权利就是 [rwx].
使用数字赋权的命令格式如下:
chmod abc filename
其中的 abc 分别代表 3 个数字,并且分别对应问个不同的属组。 即:
数字 a 对应 2 4 位,表示拥有者的权限。
数字 b 对应 5 7 位,表示同组用户的权限。
数字 c 对应第 8 10 位,表示其他组的权限。

rwx 
对应 4 2 1. 那么 只读的权限用4 表示[r--] 读写用6 4+2 )表示[rw-], 读写加执行用7 4+2+1 )表示[rwx] 只读加执行用 5 4+1 )表示 [r-x]

示例:
chmod 755 file1
chmod 777 file1 <==> chmoda=rwx file 
chmod 771 file <==> chmod ug=rwx,o=xfil

你可能感兴趣的:(linux chmod命令更改文件的读写执行权限)