添加权限
chmod u+s file
chmod g+s dir
chmod o+t dir
取消权限
chmod u-s file
chmod g-s dir
chmod o-t dir
chmod 4777 file
chmod 2770 dir
chmod 1770 dir
suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行)上增加suid权限
[lijin@xingdian-server-11 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[root@xingdian-server-11 /]# which cat 查看cat这个命令对应二进制(可执行)文件的位置
[root@xingdian ~]# chmod u+s /usr/bin/cat
[lijin@xingdian-server-11 ~]$ cat /etc/shadow
示例2:
sticky 用户只能删除自己的文件 <针对目录>
[root@xingdian ~]# mkdir /home/dir1
[root@xingdian ~]# chmod 777 /home/dir1
测试:user1在/home/dir1建立文件, user2尝试删除!
[root@xingdian ~]# chmod o+t /home/dir1
[root@xingdian ~]# ll -d /home/dir1
rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1
谁可以删除:
root
文件的所有者
目录的所有者
sgid 新建文件继承目录属组 <针对目录>
[root@xingdian ~]# mkdir /home/hr
[root@xingdian ~]# chgrp hr /home/hr/
[root@xingdian ~]# chmod g+s /home/hr
[root@xingdian ~]# ll -d /home/hr/
drwxr-sr-x. 2 root hr 4096 Dec 5 16:03 /home/hr/
[root@xingdian ~]# touch /home/hr/file9
[root@xingdian ~]# ll /home/hr/
-rw-r--r--. 1 root hr 0 Dec 5 16:03 file92
a 只能查看所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
程序:
二进制文件,静态/usr/sbin/httpd, /usr/sbin/sshd
进程:pid 是程序运行的过程, 动态,有生命周期的,可以产生和消亡的(进程是已启动的可执行程序的运行实例,实例即运行可执行程序)。
线程是进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程;一个进程至少包括一个线程,通常将该线程称为主线程;一个进程从主线程的执行开始,进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
程序运行时产生的第一个进程,任何进程都可以作为父进程创建子进程。
由父进程使用fork()函数完全复制自己的地址空间创建出来的新的进程就是子进程,子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码.
R Running or runnable (on run queue) 正在被cpu处理的进程
S Interruptible sleep (waiting for an event to complete) 暂停状态
T Stopped, either by a job control signal or because it is being traced. 停止运行
Z Defunct ("zombie") process, terminated but not reaped by its parent. 僵尸进程
‘+’ Is in the foreground process group运行在前台的进程组
< high-priority (not nice to other users) 高优先级的进程
s is a session leader 父进程
ps aux --sort %cpu 按cpu使用率从小到大排序
ps aux --sort %mem 内存使用
ps aux --sort - %cpu (从大到小)
ps aux --sort - %mem
发现cpu使用率超过100%,利用ps的命令获取到进程信息,对该进程进行管理
{该进程是我们应用产生的进程,需要对其进行优化}
{该进程不是我们应用的进程,使用进程管理的命令将其干掉}
[yang@xingdian ~]# cat /run/sshd.pid
830
[root@xingdian ~]# ps aux |grep sshd
root 10180 0.0 0.0 7224 1024 ? Ss 16:00 0:00 /usr/sbin/sshd
[root@xingdian ~]# pgrep -l sshd
10180 sshd
[root@xingdian ~]# pgrep sshd
10180
[root@xingdian ~]# pidof sshd
10180
yum -y install psmisc//安装这个软件得到pstree的命令
w/who:查看当前服务器有哪些客户端正在连接我,,进程管理
%cpu(s):0.7 us, 用户 1.0 sy, 系统 0.0 ni, 98.3 id, 空闲率
MiB Mem:2046640 total, 总的内存 886224 free, 空闲的 208308used使用的
第二部分:进程信息
命令(快捷键)
h|?帮助
M 按内存的使用排序**
P 按CPU使用排序**
N 以PID的大小排序
R 对排序进行反转
f 自定义显示字段
1 显示所有CPU的负载**
z 彩色
W 保存top环境设置 ~/.toprc
q退出**
[root@xingdian ~]# top -d 1 -b -n 2 > top.txt 将2次top信息写入到文件
-d 1指定每隔1秒显示一次 -b -n 2 加两次top的信息
-p 指定pid
[root@xingdian ~]# yum -y install wget
[root@xingdian ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@xingdian ~]# yum -y install htop
htop 命令显示的图片
Load average; 平均负载
上左区:显示了CPU、物理内存和交换分区的信息;
上右区:显示了任务数量、平均负载和连接运行时间等信息;
进程区域:显示出当前系统中的所有进程;
操作提示区:显示了当前界面中F1-F10功能键中定义的快捷功能。
F1:显示帮助信息
F2:配置界面中的显示信息;
F3:进程搜索;
F4:进程过滤器;
//search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。
F5:显示进程树;
F6:排序;
F7:减小nice值;
F8:增加nice值;
F9:杀掉指定进程;
u:显示指定用户的进程
退出 q
系统上每一个服务都有自己默认的端口号
vnc 5900
ssh 22
http 80 (nginx apache)
https 443
mariadb/mysql 3306
php 9000
redis 6379
tomcat (8080 8009 8005)
dhcp 68
yum -y install net-tools
netstat -auntpl
tcp协议上网用的 udp协议 直播用的
-a 所有的进程
-u udp进程
-n 显示段口号 5900 vnc 21、20 ftp
-t tcp进程
-p 显示程序的pid 和 名称
-l listening 监听的
[root@xingdian ~]# ss -antpl | grep 22
LISTEN 0 128 *:22 *:* users:(("sshd",pid=856,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=856,fd=4))