Linux文件属性与权限
更改文件所有者
命令图解:

改变文件所属用户组
命令图解:

更改文件读写权限
1 2 3 4 5 6
| chmod 777 999
chmod u=rw,g=r,o=x 999
chmod g+w,o+r 999
|
命令图解:



设置文件不可被删除
命令图解:

查看文件设置
命令图解:

压缩/解压文件
zip压缩文件
1 2
| zip -r 999.zip /root/999/
|
命令图解:

unzip解压文件
命令图解:

tar压缩文件夹
1 2
| tar -czf 999.tar.gz 999/
|
命令图解:

tar解压文件夹
命令图解:

Linux进程相关命令
查询进程
1 2 3 4
| pgrep -l 进程名
pgrep -u 用户名
|
关闭进程
1 2 3 4 5 6 7 8
| pkill 服务名
kill 进程ID
kill -9 进程ID
killall 进程名
|
计划任务管理
一次性计划
1 2 3 4 5 6 7 8 9 10 11 12
| #设置一次性计划 #在2022年7月27号19:04创建一个/home/1.txt并写入系统时间 [root@centos7 home]# at 19:04 2022-7-27 at> echo $(date) >> /home/1.txt at> <EOT> #退出按CTRL+d
#查看一次性计划 atq
#删除一次性计划 atrm 计划序号
|
命令图解:



周期计划
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
crontab -u root -e
*(分钟0-59) *(小时0-23) *(日期1-31) *(月份1-12) *(星期0-6) 执行操作
crontab -u root -l
crontab -u root -r
crontab 文件名
|
命令图解:



防火墙相关命令
防火墙添加规则
1 2 3 4 5 6 7
|
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-service=http --timeout=60
|
命令图解:


防火墙重载配置文件
命令图解:

查看开放的端口/服务
1 2 3 4 5
| firewall-cmd
firewall-cmd
|
命令图解:


删除防火墙规则
1 2 3
|
firewall-cmd --remove-port=80/tcp --permanent
|
命令图解:

查看服务是否允许
1 2
| firewall-cmd --query-service=http
|
命令图解:

防火墙开启IP伪装功能
添加端口转发规则
1 2
| firewall-cmd --add-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.182.110
|
删除端口转发规则
1 2
| firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.182.110
|
查询端口转发规则
1 2
| firewall-cmd --query-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.182.110
|
find命令用法
find命令查找文件
1 2
| #find命令基本格式 find 查找文件路径 -type f -name "*.sh"
|
相关参数解释
-type参数解释
1 2 3 4 5
| #在当前目录下查找文件 find . -type f
#在根目录下查找文件夹 find / -type d
|
通过后缀查找文件
1 2 3 4 5 6 7
| #查找/home/admin目录下的后缀为.sh的文件 #区分大小写 find /home/admin -name "*.sh"
#查找/home/admin目录下的后缀为.sh的文件 #不区分大小写 find /home/admin -iname "*.sh"
|
查看被修改过的文件
1 2 3 4 5 6
| #可用来应急响应时查看木马 #查看在当前目录下最近五天被修改过的文件 find . -type f -mtime -5
#查看在当前目录下超过五天被修改过的文件 find . -type f -mtime +5
|
追加匹配规则
1 2
| find . -iname "*.txt" -o -iname "*.php"
|
查找文件显示其路径
否定查找
1 2
| find . ! -iname "*.txt"
|
递归查找
1 2 3 4 5
| #限制文件递归次数,最多在当前目录下查找两级,一级为当前目录 find . -maxdepth 2 -type f
#限制文件递归次数,至少在当前目录下查找两级,一级为当前目录 find . -mindepth 2 -type f
|
lsof命令用法
查看端口占用情况
查看进程打开文件
查看已建立连接的端口号
文件时间戳修改
更改最后的访问时间
1 2
| touch -a -d "yy-mm-dd hh:mm" 文件名
|
更改最后的更改时间
1 2
| touch -m -d "yy-mm-dd hh:mm" 文件名
|
同时修改访问时间与更改时间
1 2
| touch -d "yy-mm-dd hh:mm" 文件名
|
注意:
mtime查看最近修改时间会被上面命令欺骗
ctime查看最近改动时间不会被欺骗
拓展:
想要欺骗ctime命令,应按照下列步骤执行:
1、修改访问时间和修改时间
2、更改系统时间
3、将木马文件改名
4、恢复系统时间
三剑客awk
通过分隔符查找
1 2
| awk -v FS=':' '{print $1}' /etc/passwd
|
查找内容拼接
1 2
| #以':'为分隔符查找第一、四字段并以'+'连接 awk -v FS=':' -v OFS='+' '{print $1,$4}' /etc/passwd
|
条件查找
1 2
| awk -F: '($4 == "0") {print $1}' /etc/passwd
|
查找服务主目录
步骤一
1 2
| #查看服务进程号 ps aux | grep "http"
|
步骤二
步骤三
步骤四
grep命令用法
反选
模糊匹配
精准匹配
从头匹配
从尾匹配
额外内容补充:
CentOS虚拟机挂起失败
新安装的CentOS虚拟机挂起失败可能是防火墙将vmtool的命令拦截了;可输入命令
1 2
| sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
|
重启后生效
应急处理方法
当怀疑主机遭受攻击时,可以在root权限下查看日志/var/log/secure
查看此命令日志可以发现主机是否遭到攻击,或是用户登录进来并使用特殊权限执行错误指令等等。所以我们要实时监控此文件的动向。

密码锁定策略
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
vim /etc/ssh/sshd_config
UsePAM yes
systemctl restart sshd
vim /etc/pam.d/login
auth required pam_tally2.so deny=3 lock_time=600 even_deny_root root_unlock_time=600
vim /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600
pam_tally2 -r -u 用户名
|
修改ssh默认端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/ssh/sshd_config
Port=2233
firewall-cmd --add-port=2233/tcp
systemctl restart sshd
setenforce 0
|
设置只有规定的IP地址使用规定的用户通过ssh登录
1 2 3 4 5 6 7 8 9 10 11 12 13
| vim /etc/ssh/sshd_config
allowusers 用户名@允许的IP地址(其他地址全不允许,可以设置网段)
PasswordAuthentication no
PubkeyAuthentication yes
|
使用密钥登录ssh
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ssh-keygen
ssh-copy-id root@192.168.182.110
ssh-copy-id root@192.168.182.110 -p 修改后的端口号
sz /home/.ssh/id_rsa
|