网传Linux运维面试题解答(一)-阿里云开发者社区

开发者社区> 科技小能手> 正文

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

简介:
+关注继续查看

题目转载自: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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
运维linux命令
运维linux命令1、linux启动过程 开启电源 --> BIOS开机自检 --> 引导程序lilo或grub--> 内核的引导(kernel boot)--> 执行init(rc.sysinit、rc)--> mingetty(建立终端) -->Shell 2、网卡绑定多ip ifconfig eth0:1 192.
2818 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4485 0
Linux运维常用命令-linux服务器代维常用到的维护命令
1.删除0字节文件find -type f -size 0 -exec rm -rf {} ; 2.查看进程按内存从大到小排列ps -e   -o “%C   : %p : %z : %a”|sort -k5 -nr 3.
1647 0
14426
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载