我在写这一篇文章的时候我还清楚的记得在Linux系统下如何使用chmod命令,可能过上一段时间后就会忘记,所以就上写到在博客上备份,以后忘记了可以找得到。

在Linux系统下目录或文件权限分为三级:用户、群组、任何人(User、Group、world)

当我们使用chmod命令对文件或目录权限修改时我们可以使用数字。

例如:chmod777root

用户=7拥有读取、写入、执行的权限

群组=7拥有读取、写入、执行的权限

任何人=7拥有读取、写入、执行的权限

拥有全部权限。

现在来解析下数权限

r=4:读取权

w=2:写入权

x=1:执行权

例如:chmod766wwwroot

用户(User)群组(Group)任何人(world)
7=读取、写入、执行的权限6=读取、写入的权限6=读取、写入的权限
r+w+xr+wr+w

+表示增加权限、-表示取消权限、=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-s:在文件执行时把进程的属主或组ID置为该文件的文件属主。
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:显示辅助说明
--version:显示版本

范例一:将档案file1.txt设为所有人皆可读取:

chmodugo+rfile1.txt

将档案file1.txt设为所有人皆可读取:

chmoda+rfile1.txt

将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:

chmodug+w,o-wfile1.txtfile2.txt

将ex1.设定为只有该档案拥有者可以执行:

chmodu+xex1

将目前目录下的所有档案与子目录皆设为任何人可读取:

chmod-Ra+r*

当其他用户执行oracle的sqlplus这个程序时,他的身份因这个程序暂时变成oracle

chmodu+ssqlplus

此外,chmod也可以用数字来表示权限如chmod777file

语法为:chmodabcfile

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。