文件权限管理之: 隐藏权限防止root误删除
文件属性添加与查看
[root@linux-server ~]# touch file1 file2 file3
1.查看文件属性
[root@linux-server ~]# lsattr file1 file2 file3
---------------- file1
---------------- file2
---------------- file3
2.设置权限
[root@linux-server ~]# chattr +a file1 #不允许修改,只允许追加
[root@linux-server ~]# chattr +i file2 #不允许做任何操作
[root@linux-server ~]# chattr +A file3
[root@linux-server ~]# lsattr file1 file2 file3
-----a---------- file1
----i----------- file2
-------A-------- file3
i:即Immutable,系统不允许对这个文件进行任何的修改
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何覆盖或截断这个文件
A:即Atime,告诉系统不要修改对这个文件的最后访问时间
测试
[root@linux-server ~]# echo 111 > file1 #覆盖,只允许追加
-bash: file1: Operation not permitted
[root@linux-server ~]# rm -rf file1 #不能删除
rm: cannot remove ‘file1’: Operation not permitted
[root@linux-server ~]# echo 111 >> file1 #追加[root@linux-server ~]# echo 111 > file2
-bash: file2: Permission denied
[root@linux-server ~]# echo 111 >> file2
-bash: file2: Permission denied
[root@linux-server ~]# rm -rf file2
rm: cannot remove ‘file2’: Operation not permitted
[root@linux-server ~]# mv file2 file4
mv: cannot move ‘file2’ to ‘file4’: Operation not permitted取消权限
[root@linux-server ~]# chattr -a file1
[root@linux-server ~]# chattr -i file2echo “xx” > xx 覆盖
echo "xx" >> xx 追加
什么是进程?
进程是已启动的可执行程序的运行实例
程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd, /usr/local/nginx/sbin/nginx
进程: 是程序运行的过程, 动态,有生命周期及运行状态。
在多任务处理操作系统中,每个CPU在一个时间点上只能处理一个进程。在进程运行时,它对CPU 时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变
查看进程 process
静态查看进程
[root@linux-server ~]# ps aux | less
参数解释:
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系
-------------------ps aux ps -ef 静态的查看进程信息
ps aux --sort -%cpu (mem) 查看cpu或者mem
top 动态时时的显示机器的负载状态load average x , x ,x cpu 1 5 15 分钟的平均
kill -9 PID 发送进程终止信号, 杀1个进程
pkill -u 用户名 踢用户
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
============================================================================
USER: #运行进程的用户
PID: #进程ID
%CPU: #CPU占用率
%MEM: #内存占用率
VSZ 进程占用的虚拟内存大小
RSS 占用的物理内存大小
STAT: #进程状态 ---了解
? 表示没有占用终端
R 运行
S 可中断睡眠 Sleep
D 不可中断睡眠
T 停止的进程
Z 僵尸进程
X 死掉的进程
START: #进程的启动时间
TIME: #进程占用CPU的总时间
COMMAND: #进程文件,进程名
linux系统必须要有的3个分区 分别是
/ /boot swap
引导分区 交换分区-:防止内存溢出。 out of memory
查看内核命令---uname -a /boot是内核文件存放目录
查看内存使用情况
free -m 或者 free -h 均可,只是得到的单位不同
装最小化英文界面
Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。
小知识:
如何判断Linux服务器是否被入侵,或者在公司中被黑了怎么办?
1 首先检查 当前都有谁在登陆 w
2 检查谁曾经登陆过 last
3 回顾历史命令 ~/.bash_history
4 检查哪些进程在消耗CPU,并且消耗非常厉害(进行sort排序)
5 检查所有系统进程
6 在去修改默认的ssh端口然后将坏蛋T掉
被黑客登陆到机器了,你怎么做?
w 查看当前有谁登陆在服务器上
last 查看谁曾经登陆过服务器
回顾下历史命令,看看坏蛋执行了什么?(history)
vim ~/.bash_history ls -a(显示隐藏文件)
如果被删了,遇到高手了,仔细检查机器
检查哪些进程在消耗CPU mem(找出高的),--sort
检查网络连接
此时不要去打草惊蛇,T掉坏蛋。
马上进行安全加固
例如修改SSH 端口及禁止root远程登录。pkill -u kill -9禁止root远程登录: 添加一个普通用户并且提权
一劳永逸:重装
linux服务器被入侵的症状,并且怎么去做?
被入侵后的服务器会消耗非常高的资源,尤其是CPU等,可以用此机器挖矿,发送垃圾邮件,消耗带宽发动DOS 攻击。
表现:服务器变慢,跑的网页的话(运行着WEb用服务),网站打开缓慢。
1 内存 cpu使用率特别高
2 陌生的账号及ip地址曾经登录过机器
3 /etc/sudoers 添加陌生提权账号
4 机器产生的非常多的可疑及陌生的进程--(开放很多不必要的端口)