【笔记】MD5校验 & chown修改文件属主属组 & sudo授权

MD5校验

作用: 可以给文件做一个MD5校验值
如果文件内容不变 则MD5不变
如果内容发生变化 则MD5变化

必须在root下执行

第一步: 给重要的文件做MD5值
环境准备:

[root@ahui ~]#echo www.ahui.com > code.txt
[root@ahui ~]#cat code.txt 
www.ahui.com

给code.txt做MD5校验 默认输出到屏幕

[root@ahui ~]#md5sum code.txt 
13d2dc1d237f3789bb1466fbaae5eab7  code.txt

第二步: 将输出的结果存入到police.txt

[root@ahui ~]#md5sum code.txt > police.txt

第三步: 检测当前的文件和原来的MD5校验值是否相同,检测注意文件中的路径
1)手动校验方式
校验当前的文件

   [root@ahui ~]#md5sum code.txt 
	13d2dc1d237f3789bb1466fbaae5eab7  code.txt

查看原校验值

[root@ahui ~]#cat police.txt 
13d2dc1d237f3789bb1466fbaae5eab7  code.txt

2)直接通过保存的校验值进行检测
通过检测当前路径 code.txt 的值是否和police文件中已经生成的值相同
如果相同文件没有被修改
如果不同文件被修改

[root@ahui ~]#cat police.txt 
13d2dc1d237f3789bb1466fbaae5eab7  code.txt
[root@ahui ~]#md5sum -c police.txt 
code.txt: OK

文件被修改的提示:

[root@ahui ~]#md5sum -c police.txt 
code.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

在什么情况下使用MD5校验值

  1. 网站代码 对外提供访问的
  2. 重要的系统文件
  3. 重要的配置文件

在什么情况下MD5值关闭

在做代码 功能更新的情况(自己的开发需要修改代码 运维需要修改配置)

如果黑客篡改了我们的代码:

  1. 代码必须备份 备份的是最新的代码 没有任何问题的代码
  2. grep -r ‘关键字’ ./* 查找出被篡改的文件
  3. 将篡改的文件移动到/tmp目录下 保留证据查找原因
  4. 将备份的没有问题的代码移动到代码目录(用户访问的目录)恢复业务

案例:

通过通配符和find取值:

  1. 通过通配符的方式
[root@ahui ~]#md5sum *.txt
60b725f10c9c85c70d97880dfe8191b3  1.txt
3b5d5c3712955042212316173ccf37be  2.txt
2cd6ee2c70b0bde53fbe6cac3c8b8bb1  3.txt
  1. 通过find方式
[root@ahui ~]#find ./ -type f -name "*.txt"|xargs md5sum
60b725f10c9c85c70d97880dfe8191b3  ./1.txt
3b5d5c3712955042212316173ccf37be  ./2.txt
2cd6ee2c70b0bde53fbe6cac3c8b8bb1  ./3.txt

将获取到的值放入文件中:

[root@ahui ~]#find /root/ -type f -name "*.txt"
/root/1.txt
/root/2.txt
/root/3.txt
[root@ahui ~]#find /root/ -type f -name "*.txt"|xargs md5sum
60b725f10c9c85c70d97880dfe8191b3  /root/1.txt
3b5d5c3712955042212316173ccf37be  /root/2.txt
2cd6ee2c70b0bde53fbe6cac3c8b8bb1  /root/3.txt
[root@ahui ~]#find /root/ -type f -name "*.txt"|xargs md5sum > /opt/police.txt 
[root@ahui ~]#cat /opt/police.txt
60b725f10c9c85c70d97880dfe8191b3  /root/1.txt
3b5d5c3712955042212316173ccf37be  /root/2.txt
2cd6ee2c70b0bde53fbe6cac3c8b8bb1  /root/3.txt

在任意的目录下进行检测

   [root@ahui ~]#md5sum -c /opt/police.txt 
	/root/1.txt: OK
	/root/2.txt: OK
	/root/3.txt: OK
		以上手动取值 手动检测
		一般通过定时任务+脚本方式进行自动检测

用户相关命令

  1. id 查看用户信息 uid gid
  2. w 查看登陆用户和系统性能信息
  3. top 动态查看系统性能信息
  4. ps axuf
  5. last 通过last日志 辅助排除问题 查看不认识的IP登陆和离开时间段的相关日志
    last lastlog
[root@ahui ~]#last
登陆用户 终端		  来源IP		   连接时间			 断开时间
root     pts/2        10.0.0.1         Thu May 19 10:04   still logged in   
root     pts/1        10.0.0.1         Thu May 19 08:18   still logged in   
root     pts/2        10.0.0.1         Wed May 18 12:04 - 12:04  (00:00)
  1. lastlog 每个用户最后一次登陆的时间
    [root@ahui ~]#lastlog
    Username Port From Latest
    root pts/2 10.0.0.1 Thu May 19 10:04:19 +0800 2022

  2. sudo 临时让普通用户执行的命令拥有root的权限
    为了系统安全: 都是通过普通用户登陆操作系统

    1. 禁止root登陆系统
    2. 使用普通用户登陆 开发 测试 运维都是普通用户
    3. 运维可以通过 su - root切换到管理员
    4. 开发和测试禁止切换root 没有权限

chown 修改文件的属主和属组

参数:

  • -R 递归修改文件属主属组
    语法结构:
    - chown B13K 1.txt # 只修改属主
    - chown .B13K 1.txt # 只修改属组
    - chown -R B13K.B13K 1.txt # 修改属主和属组
[root@ahui ~]#chown B13K 1.txt 
[root@ahui ~]#ll
total 0
-rw-r--r-- 1 B13K root 0 May 19 12:16 1.txt

案例:修改文件的属组

[root@ahui ~]#chown root 1.txt 
[root@ahui ~]#ll
total 0
-rw-r--r-- 1 root root 0 May 19 12:16 1.txt

[root@ahui ~]#chown .B13K 1.txt 
[root@ahui ~]#ll
total 0
-rw-r--r-- 1 root B13K 0 May 19 12:16 1.txt

案例:修改文件属主和属组

[root@ahui ~]#chown B13K.B13K 1.txt
[root@ahui ~]#ll
total 0
-rw-r--r-- 1 B13K B13K 0 May 19 12:16 1.txt

案例:修改目录及目录下所有文件的属主属组

不加参数默认只修改的是目录的属主和属组

[root@ahui ~]#chown B13K.B13K B13K/
[root@ahui ~]#ll
total 0
-rw-r--r-- 1 B13K B13K  0 May 19 12:16 1.txt
drwxr-xr-x 2 B13K B13K 45 May 19 12:19 B13K
[root@ahui ~]#ll B13K/
total 0
-rw-r--r-- 1 root root 0 May 19 12:19 1.txt
-rw-r--r-- 1 root root 0 May 19 12:19 2.txt
-rw-r--r-- 1 root root 0 May 19 12:19 3.txt

-R 递归修改目录及目录以下所有文件的属主和属组

[root@ahui ~]#chown -R B13K.B13K B13K/
[root@ahui ~]#ll B13K/
total 0
-rw-r--r-- 1 B13K B13K 0 May 19 12:19 1.txt
-rw-r--r-- 1 B13K B13K 0 May 19 12:19 2.txt
-rw-r--r-- 1 B13K B13K 0 May 19 12:19 3.txt

案例:创建一个用户名称test01 uid 889 允许登陆 创建家目录 属于B13K01组的

useradd -u889 -g B13K01 # 错误的 本身命令没问题 但是没有B13K01组

正确执行方式:

[root@ahui ~]#groupadd B13K01			    # 先创建组 B13K01
[root@ahui ~]#useradd -u889 -g B13K01 test01 # 在创建用户加入B13K01组

创建一个用户test02 uid 900 允许登陆 创建家目录 属于test02组 执行命令?

[root@ahui ~]#useradd -u900 test02
[root@ahui ~]#id test02
uid=900(test02) gid=1021(test02) groups=1021(test02)

sudo授权普通用户管理员权限

问题: 开发和测试想要执行和root相关的命令
B13K用户查看/var/log/secure安全日志

[root@ahui ~]#su - B13K
[B13K@ahui ~]$cat /var/log/secure
cat: /var/log/secure: Permission denied		# 权限拒绝

解决: 让B13K用户有权限查案secure日志
1) 通过su - 切换到root
2) 通过sudo提权 让普通用户执行命令拥有root的权限
sudo 类似尚方大宝剑 黄马褂
普通用户执行 cat 能查看的文件只能是普通的文件
cat 拥有了尚方宝剑 在执行的时候相当于用root身份运行cat 可以查看所有文件
3) B13K用户需要root的权限才可以查看日志
需要root授权给B13K特权
皇帝授予平民尚方大宝剑
4) 查看当前是否有大宝剑 默认平民 普通用户没有sudo权限

[B13K@ahui ~]$sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

	#1) Respect the privacy of others.
	#2) Think before you type.
	#3) With great power comes great responsibility.
[sudo] password for B13K: 			# 输入B13K密码
Sorry, user B13K may not run sudo on ahui.

5) root用户授权给B13K cat命令执行时拥有root的权限
B13K用户在执行cat命令时 相当于是root用户在执行cat

授权方式:

第一种 visudo
通过visodu打开的是/etc/sudoers配置文件
拥有语法检查功能 如果配置写的不正确 不让保存

[root@ahui ~]#visudo
[root@ahui ~]#grep B13K /etc/sudoers
			授权用户  允许的主机=成为哪个用户默认root	   授权的命令
			B13K           ALL=(ALL)                     /usr/bin/cat

第二种 直接编辑 /etc/sudoers (没有语法检查功能)

6|) 查看B13K的sudo命令

[B13K@ahui ~]$sudo -l
	[sudo] password for B13K: 
	Matching Defaults entries for B13K on ahui:
		!visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY
		HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
		LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT
		LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
		env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
		secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

	User B13K may run the following commands on ahui:
		(ALL) /usr/bin/cat			# 拥有了cat命令

7) 测试cat命令是否能查看secure日志文件

[B13K@ahui ~]$cat /var/log/secure
cat: /var/log/secure: Permission denied

授权后执行命令时候 需要用sudo 命令 方式执行

[B13K@ahui ~]$sudo cat /var/log/secure

授权普通用户执行命令:

授权多个命令使用逗号分隔:

[root@ahui ~]#grep B13K /etc/sudoers
B13K  ALL=(ALL)       /usr/bin/cat,/usr/bin/touch,/usr/bin/ls
授权所有的命令 给开发授权不允许用* 权限太大
B13K  ALL=(ALL)       /usr/bin/*

授权的命令进行取反:

[root@ahui ~]#grep B13K /etc/sudoers
B13K  ALL=(ALL)       /usr/bin/*,!/usr/bin/vim,!/usr/bin/su

运维配置sudo方式: 执行sudo命令不需要普通用户密码 授权所有命令给运维人员(不能切换到root使用此种方式)

[root@ahui ~]#grep B13K /etc/sudoers
B13K  ALL=(ALL)       NOPASSWD: ALL

小结:

  1. MD5校验
    单个文件校验md5sum filename
    多个文件校验md5sum filename1 filename1
    从文件中验证指定文件是否被修改md5sum -c 文件.md5

  2. chown 修改文件的属主和属组
    -R 递归修改文件属主属组

  3. sudo提权
    visudo 语法检测功能 编辑的是 /etc/sudoers
    vim /etc/sudoers 没有语法检测功能
    配置授权:
    B13K ALL=(ALL) 授权命令(绝对路径通过which查看命令所在目录)

    普通用户使用: sudo
    sudo -l #查看sudo命令
    sudo 命令 #执行sudo命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值