linux chmod命令是在平常运维中比较经常使用的命令之一,对文件管理比较重要,如设置web目录时需设置特定的权限以保证服务器安全。
提示:在写完shell脚本后,咱们通常须要给这脚本设置权限:chmod a+x shell.sh
有不少人,特别是搞开发的程序员,不懂权限,对程序及目录直接给予chmod -R 777 file,这种最高级的权限,对服务器安全会形成很大的安全隐患,通常不建议这样设置,在线上服务器上,可配置chown来设置web目录权限,如对用户上传图片的目录设置为web执行用户者的权限,对须要用程序操做的web中目录,也一样的设置:chown -R apache:apache web,其它只读的文件或目录,保持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,
w=2,
x=1
rwx属性则4+2+1=7;
rw-属性则4+2=6;
r-x属性则4+1=5。
[root@linuxyw linux]# ll
total 8
drwxr-xr-x 2 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:46 www.linuxyw.com
示例:给文件修改全部为全部人可读权限:
chmod ugo+r linuxyw.com
或
chmod a+r linuxyw.com
给文件修改全部为全部人可执行权限:
chmod a+x linuxyw.com
给文件修改全部为文件属主用户可执行权限:
chmod u+x linuxyw.com
把linuxyw目录下的文件设置为全部人可执行权限:
chmod -R a+x linuxyw/
把linuxyw目录下的文件所有设置为755权限:
chmod -R 755 linuxyw/
取消linux目录下的全部文件可写权限:
chmod -R a-w linuxyw/
先看一下文件的权限格式先看一下文件的权限格式
[root@linuxyw linux]# ll
total 8
drwxr-xr-x 2 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:46 www.linuxyw.com
ll的结果返回七列,分别表示以下含义:
第一栏 [文件属性]
第二栏 [文件数]
第三栏 [拥有者]
第四栏 [全部者群组]
第五栏 [大小]
第六栏 [建档日期]
第七栏 [档名]
咱们设置文件的权限就是这是第一栏里的文件属性。
文件属性这块共有十个字段,如:drwxr-xr-x
咱们把这10个列分红4块:[d] [rwx] [r-x] [r-x]
第一块:也就是第一列,用来表示这个文件的类型,有以下值:
(1)[ d ]则是目录,我这里的是d,表示的是一个目录
(2)[ - ]则是文件;
(3)[ l ]则表示为连结档(link file);
(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 <==> chmod a=rwx file
chmod 771 file <==> chmod ug=rwx,o=x file
linux