Linux09(一些面试题)
Posted Zephyr丶J
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux09(一些面试题)相关的知识,希望对你有一定的参考价值。
Linux09(面试题)
简单看一下
第一题
分析日志t.log(访问量),将各个ip地址截取,并统计出现次数,并按从大到小排序(腾讯)
http://192. l 68.200.10/index l.html
http://192. 1 68.200.10/index2. html
http://192. l 68.20020/index l.html
http://192. l 68.20030/index l.html
http://192. 1 68.200.40/index l .html
http://192.l 68.200.30/order.html
http://1 92.1 68.200.10/order html
以 / 作为分隔,取出第三部分排序然后统计每个ip的使用情况,再从大到小排序(必须先sort再统计)
第二题
先打出当期的网络状态,然后选出连接到服务器的,然后按照空格分隔,并取到要的那一段,然后再按照:进行分割,取出第一段,就得到了IP地址,排序,统计,再排序
cut分割的时候不支持空格,需要用awk
第三题
- 第一步修改文件:vim /etc/my.cnf
- 加入一句话,skip-grant-tables
- 重启mysql服务 service mysqld restart
- 进入数据库,此时输一个空密码就进去了 mysql -uroot -p
- 选用mysql数据库,use mysql;
- 修改密码
- 刷新权限
- 把刚刚/etc/my.cnf中加的那句话注销了
- 重启mysqld
第四题
第五题
第六题
常用的nginx,用来做什么?
rewrite模块,实现重写功能
access模块:来源控制
ssl模块:安全加密
ngx_ http_ gzip_ module:网络传输压缩模块
ngx_ http_ proxy_ module模块实现代理
ngx_ http_ upstream_ module 模块实现定义后端服务器列表
ngx_ cache_ purge 实现缓存清除功能
第七题
然后根据自己实际经验谈考虑因素:
- 注意权限分离,比如:工作中,Linux系统权限和数据库权限不要在同一个部门
- 权限最小原则(即:在满足使用的情况下最少优先)
- 减少使用root用户,尽量用普通用户+sudo提权进行日常操作。
- 重要的系统文件,比如/etc/passwd, /etc/shadow etc/fstab, /etc/sudoers 等,日常建议使用chattr(change attribute)锁定,需要操作时再打开。[ 演示比如:锁定/etc/passwd 让任何用户都不能随意useradd,除非解除锁定]
- 使用SUID, SGID, Sticky设置特殊权限。
- 可以利用工具,比如chkrootkit/rootkit hunter检测rootkit脚本(rootkit 是入侵者使用工具,在不察觉的建立了入侵系统途径) [演示使用 wget fp://p.pangeia com.br/pub/se/pachrotit.targz 先下载,然后取执行那个对应的文件就可以检测了]
- 利用工具Tripwire检测文件系统完整性
//锁定/etc/passwd
先把/etc/passwd锁定了,就不可以添加用户了
但是可以把锁定解除了,所以需要把这个文件移动走
移动走以后还是可以用find全盘扫买哦找到这个文件,这时需要将这个文件改名
要解锁,逆向操作
第八题(比较重要)
权限操作思考题:
- 用户tom对目录/home/test 有执行x和读r写w权限,/home/testhello.java 是只读文件,问tom对hello.java文件能读吗(ok)?能修改吗(no)?能删除吗?(ok)
- 用户 tom对目录/home/test 只有读写权限,/home/test/hello.java是只读文件,问tom对hello.java 文件能读吗(no)?能修改吗(no)?能删除吗(no)?【因为没有执行权限进不去文件夹】
- 用户tom对目录/home/test 只有执行权限x, /home/test/hello.java是只读文件,问tom对hello.java 文件能读吗(ok)?能修改吗(no)?能删除吗(no)?
- 用户tom对目录/home/test 只有执行权限x和写权限w, /home/test/hello.java是只读文件,问tom对hello.java 文件能读吗(ok)?能修改吗(no)?能删除吗(ok)?
第九题(跳过)
第十题
列举LInux高级命令6个:
netstat //网络状态监控
top //系统运行状态
lsblk //查看硬盘分区
find //查找
ps-aux//查看运行进程
chkconfig//查看服务启动状态
systemctl//管理系统服务器
第十一题
内存 top
io读写 iotop
磁盘存储 df -lh
端口占用 netstat -tunlp
进程查看 ps -aux
第十二题
使用Linux命令计算下t2.txt第二列的和并输出
张三 40
李四 50
王五 60
第十三题
Shell脚本里如何检查一个文件是否存在?并给出提示:
if [ -f 文件名 ] then echo “存在” else echo “不存在” fi
第十四题
第十五题
第十六题
第十七题
web服务器负载架构:Nginx/Haproxy/Keepalived/LVS
第十八题
谈谈如何优化Linux系统
首先是对整体架构的优化
其次是对linux系统本身的优化-规则:
(1) 不用root ,使用sudo提示权限
(2) 定时的自动更新服务时间,使用nptdatenptl.aliyun.com,让croud定时更新
(3) 配置yum源,指向国内镜像(清华,163)
(4) 配置合理的防火墙策略,打开必要的端口,关闭不必要的端口
(5) 打开最大文件数(调整文件的描述的数量) vim /etc/profile ulimit -SHn 65535
(6) 配置合理的监控策略
(7) 配置合理的系统重要文件的备份策略
(8) 对安装的软件进行优化,比如nginx ,apache
(9) 内核参数进行优化/etc/sysctl.conf
(10) 锁定一些重要的系统文件chattr /etc/passwd /ect/shadow /etc/inittab
(11) 禁用不必要的服务setup,ntsysv
总结
Linux基本算差不多过了一遍了,再次感谢韩顺平老师细致入微的讲解,让我对Linux有了一个简单的认识。感觉更多的还是指令的运用,各种指令很多,说白了还是一个熟练的过程,“我亦无他,唯手熟尔”,老师还教会了我这么一句话,很厉害的一句话,学习了!
最后再次推荐韩老师的课程:https://www.bilibili.com/video/BV1Sv411r7vd?p=1
以上是关于Linux09(一些面试题)的主要内容,如果未能解决你的问题,请参考以下文章
这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题