赞
踩
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
总计 1000+ 道面试题, 内容 又全含金量又高
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
最后更新后不要忘记运行/usr/bin/newaliases,使改变生效。
9.阻止你的系统响应任何从外部/内部来的ping请求。
既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。
echo 1 >; /proc/sys/net/ipv4/icmp_echo_ignore_all
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
加-h标志在最后使得telnet后台不要显示系统信息,而仅仅显示login:
11.The /etc/host.conf file
编辑host.conf文件(vi /etc/host.conf)且加下面的行:
order bind,hosts
(like virtual server,IP Aliasing).
multi off
nospoof on
IP Spoofing: IP-Spoofing is a security exploit that works by tricking
computers in a trust relationship that you are someone that you really aren’t.
The /etc/securetty file
该文件指定了允许root登录的tty设备,/etc/securetty被/bin/login程序读取,它的
格式是一行一个被允许的名字列表,如你可以编辑/etc/securetty且注释出下面的行。
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
-意味着root仅仅被允许在tty1终端登录。
特别的帐号
禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。
为删除你系统上的用户,用下面的命令:
[root@deep]# userdel username
为删除你系统上的组用户帐号,用下面的命令:
[root@deep]# groupdel username
在终端上打入下面的命令删掉下面的用户。
[root@deep]# userdel adm
[root@deep]# userdel lp
[root@deep]# userdel sync
[root@deep]# userdel shutdown
[root@deep]# userdel halt
[root@deep]# userdel mail
如果你不用sendmail服务器,procmail.mailx,就删除这个帐号。
[root@deep]# userdel news
[root@deep]# userdel uucp
[root@deep]# userdel operator
[root@deep]# userdel games
如果你不用X windows 服务器,就删掉这个帐号。
[root@deep]# userdel gopher
[root@deep]# userdel ftp
如果你不允许匿名FTP,就删掉这个用户帐号。
===
打入下面的命令删除组帐号
[root@deep]# groupdel adm
[root@deep]# groupdel lp
[root@deep]# groupdel mail
如不用Sendmail服务器,删除这个组帐号
[root@deep]# groupdel news
[root@deep]# groupdel uucp
[root@deep]# groupdel games
如你不用X Windows,删除这个组帐号
[root@deep]# groupdel dip
[root@deep]# groupdel pppusers
[root@deep]# groupdel popusers
如果你不用POP服务器,删除这个组帐号
[root@deep]# groupdel slipusers
====
用下面的命令加需要的用户帐号
[root@deep]# useradd username
用下面的命令改变用户口令
[root@deep]# passwd username
用chattr命令给下面的文件加上不可更改属性。
[root@deep]# chattr +i /etc/passwd
[root@deep]# chattr +i /etc/shadow
[root@deep]# chattr +i /etc/group
[root@deep]# chattr +i /etc/gshadow
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=isd
意味着仅仅isd组的用户可以su作为root.
然后,如果你希望用户admin能su作为root.就运行下面的命令。
[root@deep]# usermod -G10 admin
* hard core 0
* hard rss 5000
* hard nproc 20
你也必须编辑/etc/pam.d/login文件加/检查这一行的存在。
session required /lib/security/pam_limits.so
上面的命令禁止core files“core 0”,限制进程数为“nproc 50“,且限制内存使用
为5M“rss 5000”。
a) Add: restricted
加这一行到每一个引导映像下面,就这表明如果你引导时用(linux single),则需要一个password.
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
Default=linux
restricted ?add this line.
password=some_password ?add this line.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only
[root@deep]# chmod 600 /etc/lilo.conf (不再能被其他用户可读).
[root@deep]# /sbin/lilo -v (更新lilo配置).
[root@deep]# chattr +i /etc/lilo.conf(阻止该文件被修改)
[root@deep]# vi /etc/inittab
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
To
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
[root@deep]# /sbin/init q
重新设置/etc/rc.d/init.d/目录下所有文件的许可权限
[root@deep]# chmod -R 700 /etc/rc.d/init.d/*
仅仅root可以读,写,执行上述所有script file.
The /etc/rc.d/rc.local file
默认地,当你login到linux server时,它告诉你linux版本名,内核版本名和服务器
主机名。它给了你太多的信息,如果你就希望得到提示login: ,编辑
/etc/rc.d/rc.local放#在下面的行前面:
–
#echo “” >; /etc/issue
#echo “$R” >;>; /etc/issue
#echo “Kernel $(uname -r) on $a $(uname -m)” >;>; /etc/issue
然后,做下面的事情:
[root@deep]# rm -f /etc/issue
[root@deep]# rm -f /etc/issue.net
[root@deep]# touch /etc/issue
[root@deep]# touch /etc/issue.net
[root@deep]# find / -type f /( -perm -04000 -o -perm -02000 /) /-exec ls –lg {} /;
-rwsr-xr-x 1 root root 33120 Mar 21 1999 /usr/bin/at
*-rwsr-xr-x 1 root root 30560 Apr 15 20:03 /usr/bin/chage
*-rwsr-xr-x 1 root root 29492 Apr 15 20:03 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 3208 Mar 22 1999 /usr/bin/disable-paste
-rwxr-sr-x 1 root man 32320 Apr 9 1999 /usr/bin/man
-r-s–x–x 1 root root 10704 Apr 14 17:21 /usr/bin/passwd
-rws–x–x 2 root root 517916 Apr 6 1999 /usr/bin/suidperl
-rws–x–x 2 root root 517916 Apr 6 1999 /usr/bin/sperl5.00503
-rwxr-sr-x 1 root mail 11432 Apr 6 1999 /usr/bin/lockfile
-rwsr-sr-x 1 root mail 64468 Apr 6 1999 /usr/bin/procmail
-rwsr-xr-x 1 root root 21848 Aug 27 11:06 /usr/bin/crontab
-rwxr-sr-x 1 root slocate 15032 Apr 19 14:55 /usr/bin/slocate
*-r-xr-sr-x 1 root tty 6212 Apr 17 11:29 /usr/bin/wall
*-rws–x–x 1 root root 14088 Apr 17 12:57 /usr/bin/chfn
*-rws–x–x 1 root root 13800 Apr 17 12:57 /usr/bin/chsh
*-rws–x–x 1 root root 5576 Apr 17 12:57 /usr/bin/newgrp
*-rwxr-sr-x 1 root tty 8392 Apr 17 12:57 /usr/bin/write
-rwsr-x— 1 root squid 14076 Oct 7 14:48 /usr/lib/squid/pinger
-rwxr-sr-x 1 root utmp 15587 Jun 9 09:30 /usr/sbin/utempter
*-rwsr-xr-x 1 root root 5736 Apr 19 15:39 /usr/sbin/usernetctl
*-rwsr-xr-x 1 root bin 16488 Jul 6 09:35 /usr/sbin/traceroute
-rwsr-sr-x 1 root root 299364 Apr 19 16:38 /usr/sbin/sendmail
-rwsr-xr-x 1 root root 34131 Apr 16 18:49 /usr/libexec/pt_chown
-rwsr-xr-x 1 root root 13208 Apr 13 14:58 /bin/su
*-rwsr-xr-x 1 root root 52788 Apr 17 15:16 /bin/mount
*-rwsr-xr-x 1 root root 26508 Apr 17 20:26 /bin/umount
*-rwsr-xr-x 1 root root 17652 Jul 6 09:33 /bin/ping
-rwsr-xr-x 1 root root 20164 Apr 17 12:57 /bin/login
*-rwxr-sr-x 1 root root 3860 Apr 19 15:39 /sbin/netreport
-r-sr-xr-x 1 root root 46472 Apr 17 16:26 /sbin/pwdb_chkpwd
[root@deep]# chmod a-s /usr/bin/chage
[root@deep]# chmod a-s /usr/bin/gpasswd
[root@deep]# chmod a-s /usr/bin/wall
[root@deep]# chmod a-s /usr/bin/chfn
[root@deep]# chmod a-s /usr/bin/chsh
[root@deep]# chmod a-s /usr/bin/newgrp
[root@deep]# chmod a-s /usr/bin/write
[root@deep]# chmod a-s /usr/sbin/usernetctl
[root@deep]# chmod a-s /usr/sbin/traceroute
[root@deep]# chmod a-s /bin/mount
[root@deep]# chmod a-s /bin/umount
[root@deep]# chmod a-s /bin/ping
[root@deep]# chmod a-s /sbin/netreport
你可以用下面的命令查找所有带s位标志的程序:
[root@deep]# find / -type f /( -perm -04000 -o -perm -02000 /) /-exec ls -lg {} /;
; suid-sgid-results
把结果输出到文件suid-sgid-results中。
为了查找所有可写的文件和目录,用下面的命令:
[root@deep]# find / -type f /( -perm -2 -o -perm -20 /) -exec ls -lg {} /; >; ww-files-results
[root@deep]# find / -type d /( -perm -2 -o -perm -20 /) -exec ls -ldg {} /; >; ww-directories-results
用下面的命令查找没有拥有者的文件:
[root@deep]# find / -nouser -o -nogroup >; unowed-results
用下面的命令查找所有的.rhosts文件:
[root@deep]# find /home -name .rhosts >; rhost-results
建议替换的常见网络服务应用程序
WuFTPD
WuFTD从1994年就开始就不断地出现安全漏洞,黑客很容易就可以获得远程root访问(Remote Root Access)的权限,而且很多安全漏洞甚至不需要在FTP服务器上有一个有效的帐号。最近,WuFTP也是频频出现安全漏洞。
它的最好的替代程序是ProFTPD。ProFTPD很容易配置,在多数情况下速度也比较快,而且它的源代码也比较干净(缓冲溢出的错误比较少)。有许多重要的站点使用ProFTPD。sourceforge.net就是一个很好的例子(这个站点共有3,000个开放源代码的项目,其负荷并不小啊!)。一些Linux的发行商在它们的主FTP站点上使用的也是ProFTPD,只有两个主要Linux的发行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一个优点就是既可以从inetd运行又可以作为单独的daemon运行。这样就可以很容易解决inetd带来的一些问题,如:拒绝服务的攻击(denial of service attack),等等。系统越简单,就越容易保证系统的安全。WuFTPD要么重新审核一遍全部的源代码(非常困难),要么完全重写一遍代码,否则WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文来传送密码。它的安全的替代程序是OpenSSH。
OpenSSH在Linux上已经非常成熟和稳定了,而且在Windows平台上也有很多免费的客户端软件。Linux的发行商应该采用OpenBSD的策略:安装OpenSSH并把它设置为默认的,安装Telnet但是不把它设置成默认的。对于不在美国的Linux发行商,很容易就可以在Linux的发行版中加上OpenSSH。美国的Linux发行商就要想一些别的办法了(例如:Red Hat在德国的FTP服务器上(ftp.redhat.de)就有最新的OpenSSH的rpm软件包)。
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
715565165021)]
[外链图片转存中…(img-Q5CHUOm5-1715565165022)]
[外链图片转存中…(img-IWq3W7Zy-1715565165022)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。