权限及权限管理
权限管理:
r:
w:
x:
三类用户:
u:属主
g:属组
o:其他用户
chown:改变文件属主(只有管理员可以使用此命令)
chown USERNAME file,.....
-R:修改目录及其内部文件的属主
--reference=/path/somefile file,..... 把file文件的属主设置为跟somefile一样
chown USERNAME:GRPNAME file,..... 即改变属主,又改变属组
chgrp:改变文件属组(只有管理员可以使用此命令)
-R
--reference=/path/somefile file,.....
chmod:修改文件的权限
修改三类用户的权限:
chmod MODE file,.....
-R
--reference=/path/somefile file,..... 复制权限
修改某类用户的权限或某些类权限:
u,g,o,a
chmod 用户类别=MODE file,.....
chmod u=rwx /tmp/aba
chmod u=rw- /tmp/aba
chmod o=r-x /tmp/aba
修改某类用户的某些位权限:
u,g,o,a
chmod 用户类别+MODE file,...
chmod u-x /tmp/aba
chmod g+rw /tmp/aba
chmod a+x /tmp/aba
chmod -x /tmp/aba
特殊权限:
SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为S;否则显示为s
SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者
chmod g+s FILE
chmod g-s FILE
sticky:在一个公共目录,每个人都能创建文件上,删除自己的文件,但不能删除别人的文件
chmod o+t DIR
chmod o-t DIR
特殊场景:
一个开发小组有,希望实现组里面的每个人都能访问并编辑组里面其它人创建的文件,但不能删除别人的文件。
develop (hadoop ,hbase,hive)
/tmp/project/
1、先将project目录的属组改为develop
chown -R :develoop /tmp/project
2、将三个用户的附加组加入develop
usermod -a -G develop hadoop
3、将/tmp/project/加入SGID
chmod g+s /tmp/project/
4、将/tmp/project/加入sticky位
chmod o+t /tmp/project
转载于:https://my.oschina.net/u/270202/blog/537047