网传Linux运维面试题解答(一)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

题目转载自:http://2358205.blog.51cto.com/2348205/1687708

大部分都自己做的,部分参考了原帖博主的答案

 

1、LINUX系统软件安装和卸载的常见方法

①yum方式:

yum install   安装
yum remove 卸载(不推荐此种方式,会将待卸载的软件包一并卸载掉)

②rpm方式

rpm -i  安装
rpm -e 卸载(忽略依赖加上--nodeps)

③编译安装的卸载

cd命令进入编译后的软件目录,即安装时的目录,执行make uninstall命令即可;或者直接删除安装目录

 

2、Windows和LINUX常用的远程连接工具有那些

命令行远程连接:secureCRT 、putty、Xshell 等

图形远程连接:linux下Xmanager、VNC,Windows下的mstsc(远程桌面)等

3、如何修改LINUX的IP地址、网关和主机名

简单,略

 

4、编写脚本实现以下功能;
   每天早上5点开始做备份
   要备份的是/var/mylog里所有文件和目录可以压缩进行备份
   备份可以保存到别一台器上192、168、1、2 FTP帐号 aaa 密码 bbb
   要示每天的备份文件要带有当天的日期标记

cat /server/scripts/backup.sh

#!/bin/bash
mkdir /backup && cd /backup
tar zcf backup_$(date +%F).tar.gz /var/mylog
ftp -n << EOF
open 192.168.1.1
user aaa bbb
put backup_$(date +%F).tar.gz 
close 
bye
EOF

 添加定时任务

crontab -e

00 05 * * * /bin/bash /server/scripts/backup.sh &>/dev/null


5、IPTABLES相关命令

iptables -F                     //清除所有规则,不会处理默认的规则
iptables -X                     //删除用户自定义的链
iptables -Z                     //链的记数器清零
iptables -N                     //添加一个自定义的链
iptables -X                     //删除一个自定义的链
iptables -L -n                  //以数字格式打印所有规则
iptables -L -n --line-numbers   //以数字格式打印所有规则并显示行号 

iptables -A INPUT -p tcp --dport 80 -j DROP       //添加规则到指定链的结尾
iptables -I INPUT -p tcp --dport 80 -j DROP       //添加规则到指定链的开头 
iptables -I INPUT 2 -p tcp --dport 80 -j DROP     //添加规则到指定链的第二行
iptables -D INPUT -p tcp --dport 80 -j DROP       //删除指定链的指定规则
iptables -D INPUT 2                               //删除指定链的第二条规则
iptables -A INPUT -s 10.0.0.104 -j DROP           //根据源地址封禁
iptables -I INPUT -p icmp --icmp-type 8 -j DROP   //禁PING包
iptables -I INPUT -p icmp -j DROP                 //禁所有ICMP协议
iptables -A INPUT ! -p tcp -j ACCEPT              //匹配指定协议外的所有协议 
iptables -A INPUT -s 10.0.0.14 -j ACCEPT          //匹配主机源IP
iptables -A INPUT ! -s 10.0.0.14 -j DROP          //匹配主机源IP
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT        //匹配网段
iptables -A INPUT -p udp --dport 53               //匹配单一端口

 

6、mysql相关的题
  新安装MYSQL后怎样提升MYSQL的安全级别

答:

一、

删除test数据库:drop database test;
删除不用的用户:drop user 'root'@'::1'; 
                           drop user ''@'centos6-2';
                           drop user ''@'locaohost';
或全部删除,添加管理员:delete from mysql.user;
grant all privileges on *.* to system@'localhost' identified by '123456' with grant option;  
二、 对用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址,root限制为只允许本地登陆)
三、开启二进制查询日志和慢查询日志
四、mysql安装目录及数据目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限

五、修改mysql默认端口,linux下可以通过iptables来限制访问mysql端口的IP地址

 
MYSQL的主从原理,怎么配置文件

主从同步简单原理:

主库开启记录binlog日志(增删改记录),从库通过IO线程与主库通信获取binlog,然后调用SQL线程写到自己的数据库

配置步骤

1、配置master的my.cnf
[mysqld]
log-bin = mysql-bin
server-id = 1   
开启mysqlbinlog并保证master和slave的server-id不一样,slave的log-bin可开可不开,当slave需要做其他slave的master时,也就是级联时,需要开启log-bin,并同时增加log-slave-updates参数
检测master开启log-bin是否成功mysql -uroot -p123456 -e "show variables like 'log_bin'"

2、在master上添加slave的连接用户
grant replication slave on *.* to 'rep'@'10.10.13.%' identified by "111";

3、备份master的数据,在slave上导入
[root@master tmp]#mysqldump -uroot -p123456 -A -B --master-data=1 --single-transaction --events | gzip > /tmp/all.sql.gz
[root@slave /]#scp 10.10.13.91:/tmp/all.sql.gz /tmp
[root@slave /]#gzip -d /tmp/all.sql.gz
[root@slave /]#mysql -uroot -p123456  -S /mysql/3308/mysql.sock < /tmp/all.sql

4、启动slave
配置slave的my.cnf
[mysqld]
replicate_wild_ignore_table=mysql.%       #不同步mysql库
重启slave数据库服务
注意,不要在master上配置binlog-do-db, binlog-ignore-db, replicate-do-db, replicate-ignore-db这四个参数,因为他们并非想象中可靠,参考
http://yujia2016.blog.51cto.com/59379/1783686

登陆slave:mysql -uroot -p123456 -S /mysql/3308/mysql.sock 
CHANGE MASTER TO
MASTER_HOST='10.10.13.91',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='111',

start slave;           启动slave
show slave status\G    看到Slave_IO_Running: Yes和Slave_SQL_Running: Yes,表示主从同步配置成功

 

 为MYSQL添加一个用户

语法:GRANT <权限> ON <库>.<表> TO '用户'@'主机名' identified by "密码";
  
  
7、WINDOWNS相关的问题
  你是否对WINDOWNS系统打过补丁,如果有100台你会怎么做

如果都加域的话  使用域控制器分发补丁即可, 如果公司没有域环境的话,可以安装360企业版,每台客户端都安装360企业版客户端,使用360企业版控制中心分发补丁

 

8、显示/test目录下的所有目录

答:

ls -ld /test/*

 

9、将文件/etc/a 下中除了 b文件外的所有文件压缩打包放到/home/a下,名字为a.gz

tar zcf /home/a/a.gz  /etc/a/* --exclued=b

 

10、一个脚本赋予执行权限的命令及选项
chmod +x  *.sh


4、umask 022代表什么意思

代表创建文件的初始权限为644   创建目录的初始权限为755

 

5、如何查看某进程所打开的所有文件
lsof -p 进程PID
 

6、获取eth0网卡上80端口的数据包信息

 tcpdump -i eth0 port 80


7、删除 /a/b下的所有文件及目录
rm -rf /a/b/*


8、常用的网络管理工具(5种以上)
ifconfig  netstat ss  iftop ntop ping  traceroute  nslookup dig telnet等

 

9、ftp、https、smtp、pops、ssh的端口号

ftp主动模式   传输数据20  交互21

ftp被动模式   传输数据端口随机  交互21

https 443
smtp  25
pops  110
ssh    22

 

10、如何在windows server 2003/2008上开启支持内存3-4G
在我的电脑上单击鼠标右键,选择属性,点击“高级”标签,点击【启动和故障恢复】下的“设置”按钮,点击“编辑”按钮,将Boot.ini文件的最后一行后面添加一个开关 “/PAE”(不带引号),保存后重新启动机器即可    顺便说一句2008有64位的系统····不需要安装32位


11、请用iptables控制来自192.168.1.2主机的80端口请求

iptables -A INPUT -s 192.168.1.2 -p tcp --dport 80 -j ACCEPT


12、请用shell脚本创建一个组class、一组用户,用户名为stdX X从01-30,并归属class组

#!/bin/bash
groupadd class
for i in `seq -w 30`
do
   useradd std$i -g class
done

 
13、在mysql客户端查询工具中,如何获取当前的所有连接进程信息

show full processlist\G


14、如何删除已满的数据库日志信息

在my.cnf中的[mysqld]段下面加入:expire-logs-days=7(设置自动清除7天前的logs),重启mysql;
或者登录,mysql,执行:purge binary logs to 'mysql-bin.000003';          #删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
如果是mysql主从环境的,删除日志,语句格式如下:  
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

 


本文转自 kuSorZ 51CTO博客,原文链接:http://blog.51cto.com/kusorz/1839571


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Linux Shell
面试题13: Linux 命令
面试题13: Linux 命令
|
2月前
|
Linux Shell 调度
Linux面试题
Linux 一般是指 Linux 内核、 Linux 系统、 Li nux 发行版。严格意义上说 Linux 是指由 Linus Torvalds 维护的并发布的内核。它的代码只包括内核而不包括其它方面的应用。内核提供系统核心服务,如进程管理,进程的调度,虚拟文件系统,内存的管理等等。
82 0
Linux面试题
|
4天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
48 0
|
16天前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
22天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
20 3
|
30天前
|
监控 网络协议 Linux
Linux 命令大全 & CentOS常用运维命令
Linux 命令大全 & CentOS常用运维命令
139 0
|
1月前
|
运维 监控 Linux
Linux本地部署1Panel现代化运维管理面板并实现公网访问
Linux本地部署1Panel现代化运维管理面板并实现公网访问
65 1
|
1月前
|
算法 Linux 调度
嵌入式linux面试题目总结
嵌入式linux面试题目总结
28 0
|
2月前
|
运维 Linux 数据安全/隐私保护
【Linux专题_01】宝塔面板安装及运维
【Linux专题_01】宝塔面板安装及运维
|
2月前
|
Linux
Linux面试常用命令大全(常用指令)
Linux面试常用命令大全(常用指令)