本文主要是介绍linux面试题(系统管理类——权限划分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简述linux权限划分原则
linux的六种权限:
文件权限:
- 给文件或者目录分配权限时,先考虑所有者和所属组
- 遵循最小化权限原则:用啥权限给啥权限
- 修改目录及子文件归属或者权限时,注意递归
- 文件基本权限是最常用的,也是最有效
的linux安全防护手段
默认权限:
权限掩码目的是为了保证新建文件拥有默认权限,一般不需要手工设置
特殊权限:
- 特殊权限风险较大,禁止认为设置此类权限(SBIT权限风险较小)
- 特殊权限是为了让特定命令可以拥有足够权限运行的
- 三个权限的操作对象有所区别,比如SUID只针对可执行文件,SGID可以针对可执行文件及目录,SBIT只能针对目录
ACL权限:
- ACL权限一般在用户对文件身份不足时使用
- 使用ACL极易出现权限溢出,一定要注意使用(例如:对一个目录设置rwx权限并递归执行)
- 在对文件设置ACL权限后,文件所属组位置显示的不再是所属组权限,而是mask权限
- 注意区别-d和-R区别,-d是保证后续新建文件拥有ACL权限,-R是为了让已存在的文件拥有ACL
sudo授权:
- /etc/sudoers文件尽量使用visudo命令编辑,有纠错功能
- 授权时尽量授予集体的命令选项参数,以免出现过度授权,权限移除问题
- 配置文件中编写权限时,命令要写绝对路径。
文件系统属性权限:
设置ahattr:
[+ -] i
如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据
如果对目录设置i属性,那么只能修改目录下文件的数据,但是不允许建立和删除文件
[+ -] a
如果对文件设置a属性,那么只能在文件中添加数据,但不能删除也不能修改数据
如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除
答题:
- 注意权限分类(linux系统权限,数据库权限不要掌握在同一个部门)
- 权限在满足使用的情况下,最小优先
- 减少使用root用户,尽量在”普通用户+sudo提权“进行日常操作
- 重要系统文件,如:/etc/passwd,/etc/shadow,/etc/fstab,/etc/sudoers等,日常建议使用chattr锁定,需要操作时再打开
- 使用脚本检查系统中新增的SUID,SGID文件
- 可以利用工具(如chkrootkit)检测rootkit脚本
- 开启SSH服务密钥对登录,修改SSH服务端口
这篇关于linux面试题(系统管理类——权限划分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!