网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
登陆账号管理
[root@localhost ~]# usermod -L test //锁定账号
[root@localhost ~]# passwd -S test //查看账号状态
test LK 2018-12-11 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U test //解锁账号
[root@localhost ~]# passwd -S test
test PS 2018-12-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow //锁定文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow //查看被锁定的状态
----i----------- /etc/passwd
----i----------- /etc/shadow
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow //解锁文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow //查看被解锁的状态
---------------- /etc/passwd
---------------- /etc/shadow
说明: 在账号文件被锁定的情况下,其内容将不允许变更,因此无法添加、删除账号,也不能更改用户的密码、登录shell、宿主目录等属性信息。
[root@localhost ~]# useradd test1
useradd:无法打开 /etc/passwd
登陆密码管理
- 通过
vim /etc/login.defs
可修改密码有效期,时间单位为天,适用于新建的用户 - 通过
chage -M 天数 用户
命令可修改已有用户密码有效期时间 - 通过
chage -d 0 用户
命令强制用户下次登陆时更改账户密码
命令历史、自动注销
- 通过
vim /etc/profile
可修改HISTSIZE的值来调整命令历史记录条数,适用于新登陆用户;export HISTSIZE=200,适用于当前用户 - 通过
vim /etc/profile
可修改TMOUT的值来设置用户超时时间,默认单位为秒,适用于新登陆用户;export TMOUT=600,适用于当前用户 - 通过
vim ~/.bash_logout
打开并添加history -c
在退出登陆时清空历史命令
用户切换与提权
su命令切换用户
- 切换时需要验证目标用户的密码,root切换成任何账号都不需要密码
- 调整/etc/pam.d/su文件中的pam_wheel后,可以使用gpasswd -a 用户名 wheel命令授权哪些用户可以执行su命令,默认拒绝所有用户,只有添加到wheel组中的用户才可以使用su命令
sudo命令提权
- /etc/sudoers文件中授权哪些用户可以使用sudo提权
- 授权格式为 user MACHINE=COMMANDS,user为授权的用户,MACHINE为用户在哪些主机上可以执行,COMMANDS用户可以执行哪些命令
- 授权的用户多时可用集中定义的方式,定义用户的名字为User_Alias,主机为Host_ALias,命令为Cmnd_ALias,命令部分可以使用"*“,”!"通配符
- sudo命令会验证当前用户的密码
- sudo -l可以查看哪些用户授权了
PAM认证模块
PAM认证顺序
先确定服务,然后调用配置文件匹配规则,使用pam_.so动态库去执行验证
PAM认证组成
-
认证类型:
- auth用户名,密码验证
- account账号相关设置验证,
- passwod密码相关设置验证,session会话管理验证
-
控制类型:
- required验证失败仍继续,但返回fail
- requisite验证失败则结束验证,返回fail
- sufficient验证成功则返回,否则忽略验证结果继续验证
- optional不验证,只显示信息
-
PAM模块以及参数
系统安全设定
加密grub2菜单
grub2-setpassword
限制root登陆
vi /etc/securetty # 注释禁止登陆的终端
禁止普通用户登陆
touch /etc/nologin
JOHN工具破解密码
软口令破解
wget https://www.openwall.com/john/j/john-1.8.0.tar.xz # 下载工具
tar xvf john-1.8.0.tar.xz # 解压源码
cd john-1.8.0.tar.xz/src/ # 进入源码目录
make clean linux-x86-64 # 编译源码
cd ../run # 进入运行目录 cp /etc/shadow ./shadow.txt # 复制shadow文件
./john shadow.txt # 破解shadow文件密码
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!