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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

题目转载自: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
相关文章
|
1月前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
|
1月前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
32 0
|
3天前
|
存储 缓存 安全
Linux系统内核面试题
Linux系统内核面试题
18 3
|
3天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
6 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
12天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
12天前
|
运维 监控 Unix
【专栏】Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。
【4月更文挑战第28天】本文概述了Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。面试官会询问Linux与Unix的关系、内核功能、文件系统类型、权限位、用户组概念、链接类型、输入输出、进程和环境变量等。此外,还会涉及软件安装、服务配置、日志监控、网络管理、防火墙配置、LVM、RAID、用户管理、备份策略等实践技能。故障排查和脚本编程能力也是重点,包括系统故障分析、脚本在系统管理中的应用、磁盘空间管理、服务故障诊断及性能优化。准备面试的求职者应注重理论与实践经验的结合,持续学习以提升专业能力。
|
17天前
|
运维 监控 安全
Linux运维比较实用的工具
Linux运维比较实用的工具
|
25天前
|
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>
76 0
|
1月前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
1月前
|
运维 Linux
Linux 运维常见英文单词(一)
Linux 运维常见英文单词(一)
16 0