chmod命令是用来更改文件或者文件夹权限的命令
使用方法为 chmod [who] [+ | - | =] [mode] 文件名
其中mode的方法如下:
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
其中who权限组的关系如下:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
例子1 表示给当前用户,当前群组增加写权限,给非当当前用户和群组增加执行权限。
chmod ug+w,o-x test
例子2 删除所有用户执行权限
chmod a-x test
例子3 给test4文件夹递归增加当前用户执行权限
chmod -R u+x test4
例子4 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod 751 file chmod u=rwx,g=rx,o=x file
例子5 给所有用户保留只读权限
chmod =r file chmod 444 file chmod a-wx,a+r file
chgrp命令是用来更改一个文件或者文件的用户组,对应的用户组可以在etc/groups中查看
例子1 表示将test2的文件的用户组更改为和test1一样
chgrp --reference=test1 test2
例子2 将test6文件夹下所有文件递归更改用户组为bin,其中100位bin的用户组码
chgrp -R bin test6 chgrp -R 100 test6
chown命令用来更改意见文件或者文件夹的用户或用户组。用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符,使用的格式为 chown [选项]... [所有者][:[组]] 文件...
例子1 更改test文件的用户为root,用户组为user
chown root:user test
例子2 更改test文件的用户为root,用户组为root
chown root: test
例子3 更改test文件的用户组为user
chown :user test
例子4: 更改test6文件夹下所有文件的用户为root,用户组为user
chown -R -v root:user test6
这里简单的描述下/etc/groups 这个文件,其格式为组名:口令:组标识号:组内用户列表
其中
组名:组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
口令:口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
组标识号:组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.
组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
参考文档:
http://www.cnblogs.com/peida/archive/2012/11/29/2794010.html
http://www.cnblogs.com/peida/archive/2012/12/03/2799003.html
http://www.cnblogs.com/peida/archive/2012/12/04/2800684.html