第五周总结(用户权限定时任务磁盘管理)

一. 用户权限相关

1. 操作系统权限概念说明:

1)基本权限:r	     w	      x权限划分:属主	属组		其他用户2)文件权限具体说明:
(1)对于一个普通文件:
r:	是否可以查看文件内容(是否可以查看block)
w:	是否可以编辑文件内容(是否可以改写block)
x:	是否可以让文件运算
(2)对于一个目录文件:
r:	是否可以查看目录下面数据信息
w:	是否可以在目录下删除/添加/重命名文件信息
x:	是否可以让目录进行切换

文件权限:
在这里插入图片描述
文件权限总结:

  1. root用户可以随意查看和编辑任意文件信息, 不受到权限限制
  2. 文件的权限中, 读权限是最重要,
    有了rw配合, 才能正常编写文件
    有了rx配合, 才能正常执行文件
    属主权限: 6 (rw) 属组权限4® 其他用户® — 默认文件权限644

目录权限:
在这里插入图片描述
目录权限总结:

  1. root用户可以随意查看和编辑任意目录信息, 不受到权限限制
  2. 目录的权限中, 执行权限是最重要,
    有了rx配合, 才能正常查看目录下面信息
    有了wx配合, 才能正常在目录中创建/删除/重命名数据信息
    属主权限: 7 (rwx) 属组权限5(rx) 其他用户5(rx) — 默认目录权限755
    在这里插入图片描述
 文件权限说明:1)没有权限管理员用户(root):	读、写权限都可以执行,但是没有执行权限。数据属主信息:		只有写权限可以执行,但是没有读和执行权限;且写权限不完全,会覆盖前一次的内容。数据其他用户:		任何权限都不能执行。2)只有读权限管理员用户(root):	读、写权限都可以执行,但是没有执行权限。数据属主信息:		读写权限都可以执行,但是没有执行权限。数据其他用户:		只有读权限可以执行,但是没有写和执行权限。3)只有写权限管理员用户(root):	读、写权限都可以执行,但是没有执行权限。数据属主信息:		只有写权限可以执行,但是没有读和执行权限;且写权限不完全,会覆盖前一次的内容。数据其他用户:		只有写权限可以执行,但是没有读和执行权限;且写权限不完全,会覆盖前一次的内容。4)只有执行权限管理员用户(root):	读、写和执行权限都可以执行。数据属主信息:		只有写权限可以执行,但是没有读和执行权限;且写权限不完全,会覆盖前一次的内容。数据其他用户:		任何权限都不能执行。. 目录权限说明:1)没有权限管理员用户(root):	读、写和执行权限都可以执行。数据属主信息:		任何权限都不能执行。数据其他用户:		任何权限都不能执行。2)只有读权限管理员用户(root):	读、写和执行权限都可以执行。数据属主信息:		只有读权限可以执行,但是没有写和执行权限;且读权限不完全,不会显示inode信息,只有block信息。数据其他用户:		只有读权限可以执行,但是没有写和执行权限;且读权限不完全,不会显示inode信息,只有block信息。3)只有写权限管理员用户(root):	读、写和执行权限都可以执行。数据属主信息:		任何权限都不能执行。数据其他用户:		任何权限都不能执行。4)只有执行权限管理员用户(root):	读、写和执行权限都可以执行。数据属主信息:		只有执行权限可以执行,但是没有读和写权限。数据其他用户:		只有执行权限可以执行,但是没有读和写权限。

2. 系统数据默认权限设置:

创建一个文件: 默认权限644
创建一个目录: 默认权限755umask    --- 查看默认权限运算数值/改变默认权限
默认文件权限: 666 - umask = 666 - 022 = 644666 - 044 = 622  umask偶数正常运算666 - 033 = 644  umask奇数正常运算之后+1
默认目录权限: 777 - umask = 777 - 022 = 755777 - 044 = 733777 - 033 = 744什么是umask值?答:控制用户默认创建的权限umask是怎么控制权限的呢?比如:在我的系统中, umask的默认值是00220022是个什么意思呢? 意思是说, 如果创建文件, 那么它的默认权限是664, 如果是创建目录, 那么它的权限是775。那这个是怎么算的呢?其实这里的0022就是指的被拿掉的权限。文件默认创建权限(-rw-rw-rw-------w--w-==> -rw-r--r--目录默认创建权限(drwxrwxrwx)-(d----w--w-==> drwxr-xr-x

在这里插入图片描述

3. 操作系统默认权限调整:

vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]
thenumask 002   修改普通用户默认数据权限elseumask 022   修改管理员用户默认数据权限   fi$UID -gt 199   ---> 判断当前登录用户UID是否大于199
"`/usr/bin/id -gn`" = "`/usr/bin/id -un`"  --- 判断登录用户名称和组名称是否一致 

4. 系统数据权限调整方法:

直接修改数据权限:chmod u/g/o +/-/=   --- 针对不同用户设置权限chmod a +/-/-       --- 针对所有用户统一设置权限chmod 755           --- 针对所有用户设置权限chmod -R xxx        --- 递归设置权限  (慎用)chmod -R 777 / oldboy -R: 递归修改权
修改一类用户的所有权限:u=  :属组的权限等于g=  :属组的权限等于o=  :其他人的权限等于ug= :属主与属组的权限等于a=  :所有人的权限等于修改一类用户某位或某些位权限:u+ :属主添加指定权限u- :属主减去指定权限g+ :属组添加指定权限g- :属组减去指定权限o+ :其他人添加指定权限o- :其他人减去指定权限a+ :所有人添加指定权限a- :所有人减去指定权限修改数据属主用户: chown  属主信息   数据信息chown  .属组信息  数据信息 chown  属主信息.属组信息  数据信息chown  -R 属主信息.属组信息  目录信息  --- 递归修改目录属主和属组信息==========================================================================
root用户无法编写文件信息
确认数据信息是否上锁了
chattr +i  文件信息  	--- 上锁
chattr -i  文件信息 	--- 解锁 
lsattr 文件信息		--- 确认数据是否上锁
==========================================================================

chattr命令详解

常见命令参数A	告诉系统不要修改对这个文件的最后访问时间。S	一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。a	系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。b	不更新文件或目录的最后存取时间。c	将文件或目录压缩后存放。d	当dump程序执行时,该文件或目录不会被dump备份。D	检查压缩文件中的错误。i	系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。s	彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。u	当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。t	文件系统支持尾部合并(tail-merging)。X	可以直接访问压缩文件的内容。常用的命令展示chatter: 锁定文件,不能删除,不能更改+a:  只能给文件添加内容,但是删除不了,chattr +a  /etc/passwd-d:      不可删除加锁:	chattr +i  /etc/passwd      --- 文件不能删除,不能更改,不能移动查看加锁:lsattr /etc/passwd      	--- 文件加了一个参数 i 表示锁定解锁:	chattr -i /home/omd/h.txt   --- 表示解除隐藏chattr命令:which chattrmv /usr/bin/chattr  /opt/ftl/cd /opt/ftl/ mv chattr h    -->更改命令,使用别名h隐藏身份/opt/ftl/h +i /home/omd/h.txt   -->利用h 行驶chattr命令lsattr /home/omd/h.txt    -->查看加密信息恢复隐藏命令mv h /usr/bin/chattrchattr -i /home/omd/h.txtlsattr /home/omd/h.txt

lsattr命令详解

功能说明:显示文件属性。语  法:lsattr [-adlRvV][文件或目录…]补充说明:用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。参  数:-a  显示所有文件和目录,包括以”.”为名称开头字符的额外内建,现行目录”.”与上层目录”..”。-d  显示,目录名称,而非其内容。-l  此参数目前没有任何作用。-R  递归处理,将指定目录下的所有文件及子目录一并处理。-v  显示文件或目录版本。

5. 操作系统读取数据原理:

对于文件:
inode: 存储文件属性信息/指针信息
block:: 存储文件数据内容
文件读权限: 可以查看文件内容信息(获取指针信息)
文件写权限: 可以编辑文件内容信息  --> r权限对于目录:
inode: 存储目录属性信息/指针信息 
block: 目录下面数据名称信息
目录执行权限:可以进入到目录中(获取目录指针信息)
目录读权限:	 可以查看目录中数据信息(查看目录中文件名称信息)

6. 操作系统特殊权限说明:

setuid(4: 让普通用户可以拥有属主用户能力 (对操作文件命令进行权限调整)eg: /bin/cat  # ll /bin/cat-rwsr-xrwx. 1 root root 54160 Dec  4 10:33 /bin/cat没有setuid权限时, 只能root用户查看 shadow文件拥有setuid权限时, 所有普通用户查看 shadow文件 设置方法:chmod u+s / chmod 4644   --- 设置setuid权限setgid(2: 让普通用户可以拥有属组用户能力 (对操作文件命令进行权限调整)chmod g+s / chmod 2644   --- 设置setgid权限粘滞位(1: 创建一个共享目录, 只能文件属主用户对自己数据进行调整, 其他用户只能查看chmod o+t / chmod 1755   --- 设置粘滞位权限PS: /tmp/ 权限必须是1777权限, 不能改动3、如何设置上述特殊权限 chmod u+s  xxx # 设置setuid权限 chmod g+s  xxx # 设置setgid权限 chmod o+t  xxx # 设置stick bit权限,针对目录 chmod 4775 xxx # 设置setuid权限 chmod 2775 xxx # 设置setgid权限 chmod 1775 xxx # 设置stick bit权限,针对目录 4、注意:有时你设置了s或t 权限,你会发现它变成了ST,这是因为在那个位置上你没有给它x(可执行)的权限,这样的话这样的设置是不会有效的,你可以先给它赋上x的权限,然后再给s或t 的权限

7. 操作系统用户提权配置:

说明: 指定相应普通用户可以拥有root用户能力
第一个历程: 编写提权配置文件
vi /etc/sudoers
root    			ALL=(ALL)       		ALL
oldboy  			ALL=(ALL)     		 	/bin/cat /etc/shadow /bin/cat /etc/shadow, /bin/rm /oldboy/ *
只能提权用户信息	  权限集中管理配置 		指定特权信息sudo提权文件书写规范要求:
1) 必须有三列信息, 列与列之前要有空格分隔
2) 提权命令必须写成绝对路径
3) 提权多个命令, 用逗号空格进行分隔
4) 提权多个命令时,在指定命令前面加上!, 表示取消指定特权(回收指定权利)
5) 提权操作时,在命令信息前面加上 NOPASSWD: 表示取消提权输入密码的过程	第二个历程: 测试提权效果
sudo -l   --- 查看是否拥有特权信息
sudo cat /etc/shadow 
=====================================
扩展: setfacl/getfacl  --- 指定文件信息, 将文件操作权限赋予给哪个用户
https://www.cnblogs.com/ftl1012/p/setfacl.html
=====================================
总结: 系统用户权限问题, 调整方法?
1) 直接修改文件数据权限信息(rwx)   	chmod
2) 直接修改文件数据属主信息        	chown
3) 修改文件数据特殊权限信息        	setuid/粘滞位
4) 修改系统普通提权信息          	sudo 
5) 确认文件数据是否上锁了         	chattr +i/-i lsattr 
6) 将用户切换为root用户        	su - root 

8. 操作系统用户相关命令:

useradd-u :  指定创建用户uid数值信息 -g :  指定用户所属主要组信息-G :  指定用户所属附属组信息-M :  指定用户不需要有家目录-s :  指定用户登录系统方式   (可以登录/bin/bash  不可以登录/sbin/nologin)创建服务, 需要创建虚拟用户信息(管理数据信息mysql 进程信息nginx)-c :  指定用户注释信息,如果有空格,需要使用" "包含-d :  指定用户家目录位置,创建用户时,会自动从/etc/skel目录中复制文件到家目录下如果指定的文件存在将不会复制文件,如果父目录不存在,创建也将会失败。-r :  指定创建一个系统用户-M :  不创建用户家目录 -D :  修改创建用户的配置信息,文件位于/etc/default/useradd 注:创建用户时的诸多默认设定配置文件为/etc/login.defs# id alex01uid=667(alex01) gid=1036(oldboy) groups=1036(oldboy)# id alex03uid=669(alex03) gid=1038(alex03) groups=1038(alex03),1036(oldboy)创建虚拟用户方法useradd -u 670 alex04 -M -s /sbin/nologin给用户添加注释:useradd -c 运维人员 alex05groupadd-g  : 指定创建组id号码usermod   --- 修改用户相关信息-u :  修改创建用户uid数


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部