小Q:本事不大,脾气就不要太大,否则你会很麻烦;能力不大,欲望就不要太大,否则你会很痛苦。

本文主要是介绍Linux一些基本的权限管理,希望对初学者们有帮助。

-------------------------------------------------------------------

简介: 思路其实和Windows分配用户权限一样,打破了Linux的所有者所属组和其他人的限制,定制了更多的选择。

1 .  查看:  

查看分区:df  -h 

开启:   mount    -o   remount,acl/       临时开启acl

vi   /etc/fstab   改 default,acl     加上红色永久开启

查看分区是否支持acl:dumpe2fs    -h   /dev/cdrom       查看此分区是否支持acl


2 .查看权限:    getfacl      文件名

设置ACL:  setfacl     选项      文件名

-m        设定 acl                      -d          设定默认 acl                  

-R         设定递归acl                -k          删除默认 acl

-x          删除指定acl               -b          删除全部 acl

实例: setfacl   -m   u:用户:rx      文件           为所有者设定rx

      setfacl   -m   g:组名:权限   文件           为所属组设定权限

3 .mask权限:最大有效权限(设置给用户权限与mask相与,最后才是实际)

mask设定:setfacl   -m    m:rx    文件

删除权限: setfacl      -x     u:用户名      文件  

setfacl      -x     g:组名         文件

setfacl       -b       文件名                  删除所有acl权限

4 . 递归权限 : setfacl      -m     u:用户名:权限    -R      目录名

为某用户此目录下的所有文件设置acl

设置默认: setfacl     -m    d:u:用户:权限      目录名

以后此用户每次在这个目录下建立文件都是默认设置的权限

(只能针对目录,即使写文件名,文件中也没法创建文件)

二 . 文件特殊权限

1 . SUID管理:实行对象为可执行的二进制文件

(概念:典例passwd在shadow下,普通用户看不到shadow,但却能更改密码,改密就是修改shadow,

 就是因为passwd文件有UID权限;但cat/vi万不能设置,否则用户编辑shadow,吓都吓死了。。。)

因为      umask  -s                 运行的0022

设定 :  chmod       4755或u+s      文件名

取消 :  chmod       755 或 u-s       文件名  (比如passwd)

因为SUID权限太可怕,不安全,尽量尽量不去设置;另外还要定期检测

系统中是否有不应该的文件设置了SUID,删除。

2 . SGID管理: 实行对象是目录和二进制文件

(典例是locate,当为他设置SGID后,执行时,其组身份升为slocate,而组slocate可以读其他文件,而组下的用户也就可以读slocate可以读的文件或目录了。)

设定 : chmod     2755或g+s     文件

取消 : chmod      755 或 g-s     文件 

最好也别对其他命令的二进制文件设置他,很危险。

3 .sticky  BIT :实行对象是目录

(单词是粘着位的意思,当目录设置粘着位后,即使文件的权限是777,别的用户也不能删除你目录下的文件,其实这个权限挺好用的,对用户来说文件安全。) 

设定 : chmod    1755   目录名              (1是他的代表)

删除 : chmod    755或o  -t   目录名

三 . 文件系统属性chattr权限  (针对root限制)

格式 :  chattr   [+-=][选项]    文件或目录名

 对文件设置 i :锁住文件,不能删,不能改;

对目录设置 i :只能对目录下的文件修改数据,不能删不能改文件

 对文件设置 a :只能增加数据,不能删,不能改   即使是增加数据,也只能用echo 内容 >>文件名

对目录设置 a :  只许建文件,修改数据,不允许删除

四 .  sudo 权限

步骤: 第一步 root要把部分超级用户执行命令赋予普通用户

第二步 sudo 的操作对象为系统命令

命令: 必须是管理员 root 登录

visudo 或直接 vi  sudo                 实际修改位置/etc/sudoers

翻页找到格式为 : root    ALL=(ALL)        ALL

 root指代用户名        最后的ALL指代命令的绝对路径,要详细中间的指代为将被管理主机的IP地址,不是输入命令来源IP

举例:cs   192.168.1.13=/sbin/shutdown    -h   now

赋予cs用户立刻关掉192.168.1.13主机      特别注意,详细谨慎  

了解:#   %whic         ALL=(ALL)          ALL    区别是他代表组

用户查看 :sudo    -i  /sbin/shutdown   -h   now


涉猎:http://bbs.51cto.com/thread-700990-1.html


注意注意:一定保护好 vi 和 vim  ,一定不能赋予给任何用户或文

            件什么的  ,不要设置特殊权限SUID,GUID等

 

wKioL1X5brjhPT_KAAICVGnaCnc615.jpg