chmod 用于改变文件或目录的访问权限。一种是包含字母和操作符表达式的字符设定法;另一种是包含数字的数字设定法。
1.字符设定法
chmod [who] [+|-|=] [mode] 文件名
·who 表示操作对象,可以是下面字母中的任何一个或者他们的组合
·u 表示“用户(user)”,即文件或者目录的所有者。
·g 表示“用户组(group)”,即文件或者目录所属的用户组
·o表示“其他用户”
·a表示“所有用户组”
·操作符号的含义
“+”表示添加某一个权限 “-”表示取消某个权限 “=”表示赋予给定的权限,同时取消文档以前的所有权限
·mode 表示可以执行的权限,可以是“r”(只读)、“w”(可写)和“x”(可执行)以及他们的组合
·文件名可以是以空格分开的文件列表,支持通配符
示例1:修改install.log文件,使其所有者具有所有权限,用户组和其他用户具有只读权限
# chmod u=rwx,g+r,o+r install.log
示例2:修改/etc/fstab 文件的权限,使其具有所有者读写权限,用户组和其他用户没有任何权限
# chmod u-x,g-r,o-r /etc/fstab
2.数字设定法
首先了解数字表示属性的含义,0表示没有任何权限,1表示有可执行权限,与上面字符设定法中的“x”有相同的含义,2表示有可读写权限,与“w”对应,4表示有可读权限,对应“r”
如果想让文件的属主具有读和写的权限,那么可以通过4+2=6的方式来实现,因此数字6就表示拥有可读写权限。
语法 chmod[属主权限的数字组合] [用户组权限的数字组合] [其他用户权限的数字组合] 文件名
755: 第一个7显示文件所有者的权限,通过4+2+1=7 第二5显示文件所属组的权限,通过4+0+1=5得到的,最后一个5也是这个含义。
# chmod 644 mysqltuner.pl