身份
u — 拥有文件的用户(所有者)
g — 所有者所在的组群
o — 其他人(不是所有者或所有者的组群)
a — 每个人或全部(u、g、和 o)
权限
r — 读取权
w — 写入权
x — 执行权
行动
+ — 添加权限
- — 删除权限
= — 使它成为唯一权限
每种权限设置都可以用一个数值来代表:
· r = 4
· w = 2
· x = 1
· - = 0
第一位
· d — 目录
· -(短线)— 常规文件(而不是目录或链接)
· l — 到系统上其它位置的另一个程序或文件的符号链接
ls –l
drwxrwxr-x 62 oracle oracle 4096 Aug 28 14:48 db_1
第一位表示类型(d说明是目录) 其他9位分别是所有者、所属组和其他用户对此文件的权限
新建一用户oracle 用户的初始组为oinstall 附加组为dba
useradd oracle -g oinstall -G dba
设子oracle安装目录所属组用户为oracle所属组为oinstall
# chown -R oracle:oinstall /app/oracle
赋予用户对oracle目录及其目录下文件的权限(所有者读写执行 所属组读和执行 其他用户读和执行)
# chmod -R 775 /app/oracle
修改文件oracle的所属用户为:oracle 所属组为:oinstall
chmod -R oracle:oinstall oracle
给组和其他用户添加读的权限
chmod g+r,o+r hbchen.txt
hbchen.txt文件中所属组和其他用户删除读写权限
chmod go-rw hbchen.txt
chgrp [options] newgroup files/directorys
组名可以用组的ID号,也可用/etc/group中的组名。只有文件的属主或特权用户(root)才可改变它的组。
options:
-c,--changes
只输出被改变文件的信息
-f,--silent,--quiet
当不能改变文件组属性时,不通知文件的用户
--help
输出帮助信息。
-R,--recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename
参照filename的组信息来设置当前文件的组
-v,--verbose
输出详细信息
--version
输出版本信息。
实例:
$ chgrp root test 把test的所属组更改root组
$ chgrp -R mysql test 递归地把test目录及该目录下所有文件和子目录的组属性设置成mysql
$ chgrp root * 把当前目录中所有文件的组属性设置成root
使用chown命令可以修改文件或目录所属的用户:
命令:chown 用户 目录或文件名
例如:chown zenoss /usr/local/zenoss (把/usr/local/zenoss目录的拥有者改为zenoss用户)
使用chgrp命令可以修改文件或目录所属的组:
命令:chgrp 组 目录或文件名
例如:chgrp zenoss /usr/local/zenoss_group (把/usr/local/zenoss目录的所属组改为组zenoss_group)
useradd -s /bin/sh -g group -G adm,root gem
新建一个用户gem该用户的登录shell为/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组
4、给已有的用户增加工作组
或者:gpasswd -a user group