Chinaunix首页 | 论坛 | 博客
  • 博客访问: 215080
  • 博文数量: 55
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-22 15:15
个人简介

积累经验

文章分类

全部博文(55)

文章存档

2014年(55)

分类: 系统运维

2014-01-24 13:50:37

1.ls -l    查看文件权限
drwxr-xr-x. 19 root root   4096 Jan 23 18:16 1
drwxr-xr-x.  2 root root   4096 Jan 23 18:03 2
drwxr-xr-x.  2 root root   4096 Jan 23 18:03 3
drwxr-xr-x.  2 root root   4096 Jan 23 18:03 4
  
2.匹配顺序(先匹配user=>group=>other)
*文件本身有权限,同时要关注目录权限和上一级目录权限
*文件修改和文件权限有关,删除文件是和目录有关于文件无关
1)符号方式修改权限 (推荐)
    格式  chmod u g o a (+ - =) r w x -  文件或目录
    例子 chmod u+rx,g-x,o=w /tmp/file
            chmod a+rwx /tmp/dir -R    (递归,同时修改子目录及所有文件)
2)数字方式修改权限
    r    4
    w    2
    x    1
    chmod 421 /tmp/file
3.特殊权限 
权限         符号      执行对象                 作用
-------------------------------------------------------------------------------             
SUID  4        s       可执行文件               任何人执行该文件临时拥有文件所有者的权限
SGID  2        s      1可执行文件             1 任何人执行该文件临时拥有文件所有组的权限
                            2目录                       2 目录下新建的子目录、可执行文件都继承所有组的名字
Sticky 1        t        目录                      (SBIT) 目录下新建的子目录,文件只有创建者或者root可以删除

*查看执行结果是,符号显示有大小写之分,说明之前没有x权限,原来x位置“-”显示大写,原来x位置“x"显示小写
chmod 7777 1
chmod 7422 2
chmod 3422 3


4.默认权限 umask (遮罩权限)
    文件最大权限666
    目录最大权限777
    umask系统默认 普通用户 002 (文件664 目录 775)  系统用户022 (文件644 目录 755)
    umask写在 ~/.bash_profile配置文件里,全局生效。

5.ACL-访问控制列表
    普通权限、特殊权限、umask都实现不了时,使用ACL。
1)修改用户权限
    setfacl -m u:user:rwx dir/file
2)查看权限
    getfacl dir/file
    *ls -l查看时,权限末尾有“+”表示有ACL策略
    drwxrwxr-x+  2 zzg  zzg    4096 Jan 24 18:36 zzg
3)修改组权限
    setfacl -m g:group:rwx    dir/file
4)删除组权限
    setfacl -x g:group dir/file
5)删除用户权限
    setfacl -x u:user dir/file
6)删除所有权限
    setfacl -b dir/file
7)修改继承用户权限(子目录及所有文件)
    setfacl -m d:u:user:rwx /dir
8)设置mask最大权限
    setfacl -m m:rx dir/file
    *最大权限为rx,如果之前acl为rwx,设置mask后只有rx权限。

6. 文件特殊属性
    lsattr    查看特殊属性
    chattr    修改特殊属性
    chattr +a file    只能追加新内容,删除修改都不行,包括root
    chattr -a file    去除追加属性
    chattr A file    不更新atime访问时间(比如经常被访问的文件,提高性能)
    chattr i file    文件完全不可被改变
    

实现以下权限设置
1.新建test123用户,密码password,新建一个共享目录/common,起所有人为root,所属组为admin,任何人对目录有完整的权限。当test123用户登录时,其在/common目录下所创建的文件,权限是644,目录权限755,新建文件目录所属组为admin,且只有test123才能删除该目录下test123用户的文件及子目录,其他用户无权删除。
# useradd test123
# echo "password"|passwd --stdin test123
# groupadd admin
# mkdir /common
# chown root:admin /common
# chmod 3777 /common
# setfacl u:test123:rwx /common
$ vi  /homt/test123/.bash_profile
    umask 022
2.设置目录/tmp/testperm的权限,要求:
1)目录的所有人为root,所属组为admin
2)admin组对文件有全部的权限,除了root以外的其他人对目录没有任何的权限
3)现有用户boss和manager,需要掌握这个目录中的全部文件信息。请你去实现这个目录的权限设置。
# chown root:admin /tmp/testperm
# chmod 770 /tmp/testperm
3)
# setfacl u:boss:rwx /tmp/testperm
# setfacl u:manager:rwx /tmp/testperm
# setfacl d:u:boss:rwx /tmp/testperm
# setfacl d:u:manager:rwx /tmp/testperm
* 先要有ACL,然后才能继承ACL。
* 新建的文件及子目录继承ACL,旧的不继承。

chown -R harry:root /tmp/file=chown -R harry,root /tmp/file
-R 递归 (同时修改目录及子目录)
    


阅读(1551) | 评论(0) | 转发(0) |
0

上一篇:Linux信息查看命令小结

下一篇:vi常用命令

给主人留下些什么吧!~~