Linux批量创建用户、passwd、shadow、组管理、group、gshadow、默认配置文件login.defs、切换用户su、提升权限(二)

Linux批量创建用户、passwd、shadow、组管理、group、gshadow、默认配置文件login.defs、切换用户su、提升权限(二)

Linux对于权限的管理非常完善,其强大的权限管理机制体现了它的魅力之处,让无数人为之操碎了心。Linux中的权限既能放也能收,既可以管理整个组的权限,也可以管理单个用户的权限,正是因为有了ACL的加入变得非常灵活,对不属于主和其他的用户增加了权限,对于目录的w权限造成的文件不安全也有Stick位,保证私人财产的安全……总之Linux的权限管理特别强大。


权限管理

  1. su切换用户 

    • su user #不完全切换,非登录式切换,造成无法访问原来用户目录的情况,who am i显示登录用户,而不是切换用户

    • su - user #完全切换,登录式切换

    • su – root -c ‘cat /etc/passwd’ #方便普通用户完成root的命令,不必切换用户,此处注意区别 “command” 会造成不切换执行的后果。

    • sudo #临时获取root权限,无法sudo时修改sudoers文件(visudo或sudoedit可编辑/etc/sudoers文件)

    • 如果普通用户变成管理员(usermod -og 0 fz)再改回普通用户就会出错

  2. 安全上下文 

    • 用户运行某个程序时,该程序的权限属于当前用户,进程所能够访问资源的权限取决于进程的运行者的身份

    • 启动进程之后,进程的属主为发起者;进程的属组为发起者所属的组

    • 进程访问文件时的权限取决于发起者的身份:按照是否同文件属主——>属组——>其他的权限来执行的

  3. 权限(针对特定文件系统,如果是fat文件系统,文件元数据不支持修改权限) 

    • 文件:r可读文件内容,w可修改文件内容但不可删除,x针对可执行文件、程序而言的

    • 目录:r不能读取文件列表但不能访问文件不能cd不能看文件的属性,w不能创建文件,x无法进入目录无法访问目录中的文件(至少给x权限,一般给x和r权限),(w和x权限可删除目录下的文件,相当于修改文件内容,用vi强制保存),不加入t权限且目录权限为rwx时相当于目录内的所有东西是公共财产,即使子目录和文件属于其他用户,如/tmp目录是加了stick bit的公共目录

  4. chown 

    • chown -R owner ; owner:group ; :group dir/

    • chown --reference=(dir/file) dir/file

  5. chgrp #更改所属组 

    • chgrp -R groupname /dir

    • chgrp groupname file

    • chgrp -R --reference=(dir/file) dir/file #参考,更改

  6. chmod #修改权限 

    • chmod -R a(ugo)=rwx(可缺省) dir/ #递归修改目录下所有文件的目录

    • chmod -R a=X(目录加x,文件有x权限则加满,无x权限则全无x),用数字表示时无法使用X

    • chmod -R --reference=(dir/file) dir/file #参考,更改

    • chmod a=(缺省) = a=0 #权限设为0

    • 系统根据u——>g——>o的顺序授予用户的权限

  7. umask #保留默认权限 /etc/profile中定义了if(id>199&&u=g)002else022 /etc/bashrc ~/.bashrc 

    • 666 – umask=default mod(file),结果是奇数时加1

    • 777 – umask=default mod(dir)

    • 注意文件与目录的不同默认权限

    • 原理是屏蔽掉最大权限相应位,1屏蔽0保留

    • umask 022 #root的默认umask

    • umask u=rw,g=,o=x #设置默认umask

    • umask -S #显示为上面的格式

    • umask -p #显示 umask xxx,可用在umask -p >> /etc/bashrc

    • root创建文件的权限644,目录755umask越大,对别人的权限越小,越安全

  8. 可执行文件SUID权限,只适用二进制可执行文件,目录等无效 

    • root属主的文件执行chmod u+s(4+原权限) /bin/cat #增加suid权限,继承了属主的权限

    • root属主的文件执行chmod u+s cat #所有用户可以cat任何文件,可以看、改任何文件,危险

    • chmod 6755 #同时增加主与组的s权限

    • 如果二进制文件没有o的x权限,即使ug有s权限,用户也不能执行

  9. SGID作用于文件或目录,一般作用于目录,使得目录下的文件继承组权限 

    • 文件:root属组的文件chmod g+s(2+原权限) /bin/cat #增加二进制文件可执行文件sgid权限,继承了属组的权限,root组权限不大,无太大用途

    • 目录:对文件夹chmod g+s(2+原权限) /testdir/ #增加目录的sgid,使得目录下任何用户新建的文件属于该组,只有组内成员继承了rw权限,其他用户根据umask创建新文件

    • 组中成员可相互修改文件,其他人没有访问权限,组内成员可通过修改自己文件的属组为项目组,但是有新文件时要繁琐修改属组。如果把该父目录增加s粘置位,则用户在该目录创建新文件时将继承s目录的属组

  10. Stick位,作用于目录 

    • chmod o+t(1+原权限) dir #增加粘置位

    • 避免目录有w权限时组内成员和其他用户删除其他用户的文件,只能删自己的文件,增加安全性,保护了私有财产

  11. 删除特殊权限(sst) 

    • 这三种权限要结合x权限,否则对应为显示为SST

    • 目录用chmod u-s,g-s删除ug位的s权限 用chmod 755(原权限)删除o位置的t,或者0+(原权限)删除o位置的t,或者chmod o-t删除o位置的t

    • 文件用chmod 755(原权限)删除sst,或者0+(原权限)删除sst

  12. 文件的特定属性 

    • chattr +A -A file #锁定不能更改访问时间

    • chattr +i file #只能读,不能删改,root也不能,避免误删除

    • chattr +a file #只能追加

    • lsattr file #显示特定属性查看上面的命令作用于文件的特殊符号(A、i、a)

  13. 访问控制列表ACL(access control list):实现灵活的权限管理,在文件属性显示为—-+ 

    • setfacl -m u:username:rwx(0) file #setfacl -M acl.txt filesetfacl -Rm acl.txt dir #对目录下的文件增加访问列表u(gmo):username:rwX

    • getfacl file #显示文件的访问列表

    • setfacle -m m::rw file #有ACL的情况下设置mask权限,显示在group的位置,group位置的权限就是mask权限:控制除了属主和其他人以外的人和组的最高权限(mask=rw,那么其他用户和组的权限不能超过rw,#effective rw)

    • serfacl -x u:username file #删除 setfacl -X acl_del.txt file

    • setfacl -b file #清空file的访问列表

    • setfacl -Rmu:fz:rwX dir #设置目录的默认ACL权限,目录下新文件对fz有访问列表

    • setfacl -m d:u:fz:rwx dir #设置目录的默认ACL权限,目录下新文件对fz有访问列表,新创建的文件根据umask,fz不会有x权限,目录则有x权限 
      *setfacl -k dir #删除目录默认的ACL权限

    • getfacl f1 | setfacl –set-file=- f2 #复制f1的ACL给f2

    • 所有者不受ACL影响——>ACL表——>组——>其他用户

  14. 备份和恢复ACL 

    • cp -p f1 /bck/f1 #备份有acl的文件u

    • 打包时不保留acl

    • getfacl -R /tmp/dir > acl.txt

    • setfacl -R -b /tmp/dir1

    • setfacl -R –set-file=acl.txt /tmp/dir1

    • getfacl -R /tmp/dir1

    • getfacl --restore=filename

练习

8.3练习.jpg

原创文章,作者:helloc,如若转载,请注明出处:http://www.178linux.com/30270

(0)
上一篇 2016-08-06 17:05
下一篇 2016-08-07 14:17

相关推荐

  • Linux三剑客之sed

    sed 简介 sed 工作原理 命令格式 常用选项: 地址定界: 编辑命令: 替换标记: sed元字符集(正则表达式) 高级编辑命令: sed用法实例 作业: 选定行的范围:,(逗号) 删除操作:d命令 显示模式空间内容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多点编辑:e命令 从文件读入:r命令 写入文件:w命令 替换操作:s命令 替…

    Linux干货 2016-08-11
  • rsyslog同步history日志

    前言   由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集、审计。虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建。如果有错误,望大神指正。 syslog简介 syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/sysl…

    Linux干货 2015-04-03
  • 时间、screen、echo等——Linux基本命令(5)

    1.     时间 (1)查询时间: date          +%F  年月日          +%T  时分秒  &nbs…

    2017-07-13
  • 6个变态的C语言Hello World程序

    下面的六个程序片段主要完成这些事情: 输出Hello, World 混乱C语言的源代码 下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通过。 hello1.c  #define _________ }     #define ______…

    Linux干货 2016-05-08
  • DevOps如何重构IT战略

    翻译: 至尊宝 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是昙花一现还是你一直在寻找的竞争优势?我们咨询了一些专家,对于这种趋势他们的想法是什…

    Python干货 2015-03-26
  • Xen虚拟化平台安装及实时迁移

    前言 Xen是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,Xen可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源极少。以高性能、占用资源少著称,赢得了IBM、AMD、HP、Redhat和Novell等众多世界级软硬件厂商的高度认可和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。 Xen虚拟化类型 Xen对…

    Linux干货 2015-07-19