一、.如何查看服务器是否有进程监听在22号端口以及对应进程的PID进程号?(只查22端口)
ss -ltunp | grep ':20\b' netstat lsof -i:22
二、使用crontab任务计划,完成:每周三晚上7到9点之间每5分钟执行一次a.sh的文件?
[root@nfs1 ~]# echo '*/5 19-21 * * */3 /bin/bash a.sh &> /dev/null' >> /var/spool/cron/root[root@nfs1 ~]# crontab -l*/5 19-21 * * */3 /bin/bash a.sh &> /dev/null
三、3.执行ps aux命令后,请解释 USER, PID, CPU, MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND 所代表的含义?
USER:进程的用户 PID:进程号 CPU:进程CPU消耗百分比 MEM:进程使用的内存百分比 VSZ:进程使用的虚拟内存大小,KB RSS:进程使用的物理内存大小,KB TTY:终端号 STAT:进程当前状态 TIME:累计使用CPU时间 COMMAND:启动该进程的程序及参数
四.编写一个 shell 脚本,每隔3秒检查一次系统中是否有名为 hacker 的用户登录,若有 则将 hacker 登录的时间和主机地址信息存放于 /var/log/login.log 文件中,并结束该 shell 脚本。
#用screen启动会话执行脚本即可[root@nfs1 ~]# cat check.sh #!/bin/bashUSER=harkerwhile true;do if who | grep -q ^${USER};then who | grep ^${USER} >> /var/log/login.log exit 0 fi sleep 3done
五、5. 简述 CentOS 开机启动过程?(越详细越好)
CentOS6 启动过程: 1.加电自检(POST)过程 2.加载BIOS程序 3.加载和执行MBR中的Bootloader程序(GRUB:Stage1) 4.Stage1.5:识别文件系统中的grub 和 kernel 文件位置 5.启动 kernel 6.挂载根文件系统,启动init进程 7.执行对应的运行级别 8.启动用户登录程序 CentOS7 启动过程 1.加电自检(POST)过程 2.加载BIOS程序 3.加载和执行MBR中的Bootloader程序(GRUB:Stage1) 4.Stage1.5:识别文件系统中的grub 和 kernel 文件位置 5.启动 kernel 6.挂载根文件系统,启动 /usr/lib/systemd/systemd/default.target 管理的各项服务 7.启动用户登录程序
六、描述/etc/rc.local文件的内容和作用?
# 存放需要开机启动的程序或脚本 CentOS6:最后执行该文件里面的内容,默认有执行权限,直接把需要启动的程序放里面即可 CentOS7:随着其他程序一起启动的(systemd服务是并行执行),默认没有执行权限,需要自行chmod,建议使用systemd管理
七、使用 awk 统计统计处理以下文件中每种域名出现的次数
http://www.baidu.com/index.html http://www.baidu.com/1.html http://post.baidu.com/index.html http://mp3.baidu.com/index.html http://www.baidu.com/3.html http://post.baidu.com/2.html
[root@nfs1 ~]# awk -F'/' '{DOMAIN[$3]++}END{for(i in DOMAIN)print i,DOMAIN[i]}' test.txt post.baidu.com 2 www.baidu.com 3 mp3.baidu.com 1
八、查找出和当前服务器网络连接状态为 established 的所有 ip 地址, 并将这些地址按升序保存于 /tmp/conips.txt 文件中
[root@nfs1 ~]# ss -Htun | awk -F'[ ]*|:' '{print $7}' | sort -u > /tmp/conips.txt [root@nfs1 ~]# cat /tmp/conips.txt192.168.38.1 192.168.38.149 [root@nfs1 ~]# ss -Htun | awk -F'[ ]*|:' '{IP[$7]++}END{for(i in IP)print i,IP[i]}' | sort -nrk1 > /tmp/conips.txt[root@nfs1 ~]# cat /tmp/conips.txt192.168.38.1 5 192.168.38.149 1
九、 生成自签名证书"openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem",其中-new,-x509,-key,-days,-out分别是什么含义?
-new 生成新证书签署请求 -x509 用于CA生成自签证书 -key 指定私钥文件 -days 证书有效期 -out 证书输出文件路径
十、CentOS7.6 系统中如何禁用 firewalld 服务? 禁用 firewalld 后,请写出 iptables 规则,要求仅对外开放 TCP 协议的 22 和 80 端口; 配置生效后,如何才能确保系统重启后自动完成刚才的 iptables 规则配置?
systemctl stop firewalld && systemcrl disable firewalld iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT iptables -A INPUT -j DROP iptables-save > /etc/sysconfig/iptables yum install iptables-services -y systemctl enable iptables
十一、请写出临时和永久禁用 selinux 的方法?
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
十二、请简述 vsftp, NFS, SAMBA 三种文件共享技术各自的特点和使用场景。
1、vsftpd ftp协议,客户端工具较多,用于网络上文件数据的共享 2、NFS 网络文件系统,分布式访问,文件集中式存储,常用语linux操作系统,让访问网络文件系统的数据就好像访问本地一样 3、samba 实现windows和linux之间文件和打印机的共享,用于局域网内
十三、请简述 httpd 的三种工作模式以及他们的特点(prefork, worker, Event)。
1、prefork:预派生模式,多进程模型, 有一个主控进程:负责生成子进程及回收子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理; 有多个子进程:每个子进程处理一个请求。 主控进程会预先生成几个空闲进程,随时等待用于响应用户请求 2、worker:多进程多线程模型,每个线程处理一个请求 一个主进程:负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理; 多个子进程:每个子进程负责生成多个线程; 每个线程:负责响应用户请求; 3、event:事件驱动模型,多进程模型,每个进程响应多个请求 一个主进程 :负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理; 子进程:基于事件驱动机制直接响应多个请求;
十五、 CentOS7 系统启动时如何进入系统救援模式
单用户模式:方法一:开机按e,linux16那行后写rd.break,然后control+x(方法有多种,使用前先看下文档) 光盘救援:光盘启动->troubleshooting
十六、CentOS7 系统有几个运行级别? 分别是什么? 如何将默认运行级别调整为字符界面?
7个,分别对应CentOS6的init0到init6:关机,单用户,多用户模式,图形界面,重启 systemctl set-default multi-user.target
十七、CentOS7 系统中 /data/路径下有大量的 jpg 小图片文件, 文件名称都是以 4 位小写字符加 4 位数字构成的,如图:
-rw-r--r--. 1 root root 0 May 27 14:44 abcd1234.jpg -rw-r--r--. 1 root root 0 May 27 14:44 abcd1569.jpg -rw-r--r--. 1 root root 0 May 27 14:44 abcd4567.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft1322.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft9322.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft9342.jpg -rw-r--r--. 1 root root 0 May 27 14:44 adec1269.jpg -rw-r--r--. 1 root root 0 May 27 14:45 adec1277.jpg -rw-r--r--. 1 root root 0 May 27 14:44 adec1569.jpg
请编写一个 shell 或者 python 脚本将文件前四个小写字符相同的文件移动到以这四个字母为名字的文件夹中, 如图
[root@localhost data]# pwd/data [root@localhost data]# [root@localhost data]# tree. ├── abcd │ ├── abcd1234.jpg │ ├── abcd1569.jpg │ └── abcd4567.jpg ├── acft │ ├── acft1322.jpg │ ├── acft9322.jpg │ └── acft9342.jpg └── adec ├── adec1269.jpg ├── adec1277.jpg └── adec1569.jpg 3 directories, 9 files
#创建文件file=' abcd1234.jpg abcd1569.jpg abcd4567.jpg acft1322.jpg acft9322.jpg acft9342.jpg adec1269.jpg adec1277.jpg adec1569.jpg'DIR=/opt/for i in $file;do touch ${DIR}${i}done[root@nfs-backup ~]# bash test.txt#编写脚本:[root@nfs-backup ~]# cat mv.sh #!/bin/bashDIR=/opt/for i in `ls ${DIR}`;do direname=`echo $i | head -c4` mkdir -p ${DIR}${direname} mv ${DIR}${i} ${DIR}${direname}done[root@nfs-backup ~]# bash mv.sh
十八、使用 shell 脚本完成在一台 CentOS7 中编译安装 httpd2.4.39 和 php7.3.5 的 fpm 模式,实现 httpd 通过 socket 与 fpm 通信, 响应 phpinfo 信息页面请求
参考:https://blog.51cto.com/14012942/2444580