进程

1.进程定义:进程就是程序运行的过程,就是cpu未完成的工作,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

2.linux中进程查看的命令

1ps     参数

        a            ##关于当前环境的所有进程

        x | -A        ##所有进程

        f            ##显示进程从属关系

        e           ##显示进程调用环境工具的详细信息

        l           ##长列表显示进程详细信息

        u          ##显示进程的用户信息

       -a          ##显示shell前台运行命令的进程,但不包括shell本身

这些参数的信息可在man ps ps --help中查看

实验说明;

 ps a  查看当前环境所有进程信息

 进程和openssh-server

ps x | -A 查看所有进程,略有不相同,x显示没有控制终端的进程同时显示各个命令的具体路径

 进程和openssh-server

ps f ps eps lps ups -a

 进程和openssh-server

2ps ax -o %cpu%memusergroupcommnicepidstat

  %cpu      ##cpu使用率

  %mem    ##内存使用率

  user      ##进程发起用户

  grop      ##进程组

  comm     ##进程名称

  nice       ##进程优先级

  pid        ##进程id

  stat       ##进程状态

 

实验(截取部分):

 进程和openssh-server

 

3stat中显示的信息说明

S        ##进程状态

l         ##内存中该进程存在锁定空间

N        ##优先级低

<        ##优先级高

+        ##shell)前台运行

s        ##顶级进程

实验:后台运行gieditps a查看进程,gedit显示进程状态l,内存中默认为gedit留存部分空间,做一编辑存储使用;ps a  +前台运行进程

 进程和openssh-server

 

4ps ax -o %cpu%memcomm --sort=+%cpu-%mem

   +    ##正序

   -     ##倒序

   %cpu  ##cpu负载排序

   %mem  ##内存负载排序

实验:

 进程和openssh-server

 

3.进程的优先级

1)进程的优先级范围

   -2019

2)优先级的查看

ps ax -o pidnicecomm

 进程和openssh-server

3)指定某个优先级开启进程

  nice   -n  优先级数字   进程名称

 Egnice -n -5 vim &   ##开启vim指定程序优先级为-5

 进程和openssh-server

 进程和openssh-server

**nice -n -5 vim &执行了两次

4)改变进程优先级

renice  -n 优先级数字  进程名称

renice  -n -5     5           ##改变名称为5的进程的优先级为-5

 进程和openssh-server

进程和openssh-server

 

4.环境中进程的前后台调用

jobs           ##查看被打入环境后台的进程

[Ctrl+z]        ##把占用终端的进程打入后台

fg   jobsnum   ##把后台的进程调回前台

bg  jobsnum   ##把后台暂停的进程运行起来

comm  &      ##让命令直接在后台运行

实验:

当前环境,geditvim(两个)被打入后台

 进程和openssh-server

vim调回前台运行

 进程和openssh-server

 进程和openssh-server

 

 

 

让后台gedit运行起来,原先无法编辑的gedit可以进行编辑了

 

5.进程信号

1)常用信号等级

    1                   ##进程重新家在配置

    2                    ##删除进程在内存中的数据

进程和openssh-server

           进程和openssh-server    

   3                 ##删除鼠标在内存中的数据

   9                   ##强行结束单个进程(不能被阻塞)

  15                 ##正常关闭进程(可能阻塞,无法关闭)

  18                  ##运行暂停的进程

 19                  ##强行暂停某个进程(不能被阻塞,一定会暂停)

  20                  ##把进程打入后台(可能被阻塞)

 man 7 signal         ##查看信号详细信息

kill    -信号   进程pid   ##进行相应的操作

killall  -信号   进程名字  ##批量操作统一进程

pkill    -u  uesrname   -信号   ##对用户进行相应的信号操作

实验:kill -9 3409 结束gedit程序

进程和openssh-server

 

进程和openssh-server


关闭两个vim进程

 进程和openssh-server

关闭student用户打开的所有进程

 进程和openssh-server

6.top命令

top           ##监控系统负载工具

 S           ## 修改进程刷新间隔时间

m          ##根据内存占有率进行排序

C          ##根据 cpu占有率进行排序

u          ##后面输入用户名 ,用来查看该用户发起的所有进程

k         ##后面跟要作用的进程 pid,和发起的信号 (eg:9,15,20)用来给某个进程发起一信号

实验:top进入top监控见面

 进程和openssh-server

进程和openssh-server

 

s键后输入时间,修改刷新时间间隔

 进程和openssh-server

Cmcpu,内存占有率进行排序,从高到底,h显示top帮助说明界面,q退出top监控界面

 进程和openssh-server

 

 进程和openssh-server

  

openssh-server

让远程主机可以通过网络访问sshd服务,开始一个新的shell

1.客户端连接方式

1ssh远程主机用户@远程主机id

 

[[email protected] Desktop]# ssh [email protected]

The authenticity of host '172.25.254.21 (172.25.254.21)' can't be established.

ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.

Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系

Warning: Permanently added '172.25.254.21' (ECDSA) to the list of known hosts.

[email protected]'s password: ##远程用户密码

Last login: Sun Jan  3 21:13:47 2018

[[email protected] ~]# ##登陆成功

 

 

实验:左边desktop要远程连接右边server主机,ifconfig查看各自的ip地址

Desktop   shell中执行命令:ssh [email protected]

进程和openssh-server

进程和openssh-server

 

**输入student用户密码,连接成功(因为之前已经练习过多次了,所以实验中没建立认证关系环节)

 

 

 

2ssh    远程主机用户@远程主机ip  -X 调用远程主机图形工具

重新登陆远程主机图形界面,提示缺少/home/student/.Xauthority文件

 进程和openssh-server

3)远程主机用户@远程主机ip command ##直接在远程主机运行某条命令

ssh  [email protected] touch /tmp/file0

 进程和openssh-server

 

 

3)客户机desktop每次远程登陆服务机server时总是需要输入密码,为此服务机server用户可以进行设置

ssh-******进行加密

*.生成公钥私钥

[[email protected] ~]# ssh-****** ##生成公钥私钥工具

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase): [enter] ##**密码,必须>4个字符

Enter same passphrase again: [enter] ##确认密码

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 [email protected]

The key's randomart image is:

+--[ RSA 2048]----+

|o                |

|E.               |

|..               |

|.  . o           |

|.o. * . S        |

|oo.o o   .       |

|+ =. .  .        |

|o. oo.+..        |

|    ..o*.        |

+-----------------+

[[email protected] ~]# ls /root/.ssh/

id_rsa  id_rsa.pub

 

*

id_rsa ##私钥,就是钥匙

id_rsa.pub ##公钥,就是锁

 

*.添加key认证方式

[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  [email protected]

 

ssh-copy-id ##添加key认证方式的工具

-i ##指定加密key文件

/root/.ssh/id_rsa.pub ##加密key

root ##加密用户为root

172.25.0.11 ##被加密主机ip

 

*.分发钥匙给client主机

[[email protected] ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

 

*.测试

 

[[email protected] ~]# ssh [email protected] ##通过id_rsa直接连接不需要输入用户密码

Last login: Mon Oct  3 03:58:10 2016 from 172.25.0.250

[[email protected] ~]#

实验:

第一步制作钥匙

 进程和openssh-server

第二步添加认证方式

 进程和openssh-server

第三布把钥匙给客户端root用户

 进程和openssh-server

 

第四步客户机root远程连接登陆测试

连接成功

进程和openssh-server 

 

(4)提升openssh的安全级别####

*.openssh-server配置文件

 

/etc/ssh/sshd_config

 

PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭

 PermitRootLogin yes|no ##是否允许超级用户登陆

AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell

DenyUsers westos ##用户黑名单

 

实验说明:

执行命令 vim /etc/ssh/sshd_config

 进程和openssh-server

在第45认证(authentication)下边编写内容,主要#是说明内容,去掉#字符将78PasswordAuthentication yes|no后边的yes改成no,则不需要密码认证远程登陆,48PermitRootLogin yes|no 允许root用户登录改成no,则root用户无法登录, 编写AllowUsers student westos  用户使用ssh远程登陆白名单,表示studentwestos可以使用ssh进行远程登陆新开shell,编写DenyUsers westos 用户使用黑名单,表示westos用户不能使用ssh进行远程登陆

 进程和openssh-server

 进程和openssh-server

 

 

5)控制ssh客户端访问

vim /etc/hosts.deny

sshd:ALL ##拒绝所有人链接sshd服务

 

vim /etc/hosts.allow

sshd:172.25.254.250 ##允许250主机链接sshd

 

sshd:172.25.254.250172.25.254.180 ##允许250180链接

 

sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd

实验说明:

 

执行命令:vim /etc/hosts.deny,进入后在后边编写sshd:客户机1ip2ip

sshd:172.25.254.250                                  ##禁止250主机链接sshd

sshd:172.25.254.250172.25.254.180                  ##禁止250180链接

sshd:ALL EXCEPT 172.25.254.200                  ##只允许200链接sshd

 进程和openssh-server

 进程和openssh-server

 

5ssh登陆提示修改该

vim /etc/motd ##显示登陆后字符

 

hello world ##在登陆后就会显示这个字符

 

实验:vim /etc/motd 进入编辑三行内容“hello world  欢迎使用ssh命令 登陆成功wq退出保存,客户机连接测试

进程和openssh-server

 进程和openssh-server

进程和openssh-server


 


相关文章:

  • 2022-12-23
  • 2021-06-30
  • 2021-08-03
  • 2021-08-26
  • 2021-09-29
  • 2021-07-16
  • 2021-10-24
猜你喜欢
  • 2021-10-04
  • 2021-06-11
  • 2021-08-29
  • 2021-04-01
  • 2021-12-18
相关资源
相似解决方案