第五章 管理本地Linux用户和组
- /etc/shadow文件中哈希密码的含义
hamlet:$6$UO9Whhfo$wycei7.T4TtOIAkJzo.HrcPptekSzefLAt3JTNfZkKl.gBi5GGJQ/JEeTrDZWmgZ1OvvEPZVXpECU62rGwSAL0:18131:0:99999:7:::
现代密码哈希中存储三段信息:
a.6
:数字6表示使用SHA-512哈希,使用MD5哈希时会出现数字1。
b.UO9Whhfo
:用于加密哈希的salt。随机选取,salt与未加密密码组合加密,可以防止两个密码相同的用户在/etc/shadow文件中拥有相同的条目。
c.wycei7.T4TtOIAkJzo.HrcPptekSzefLAt3JTNfZkKl.gBi5GGJQ/JEeTrDZWmgZ1OvvEPZVXpECU62rGwSAL0
:已加密的哈希。 -
chage -d 0 username
将强制在下次登陆时更新密码。 -
usermod -l username
可以锁定账户,这是一种预防已离开公司的员工访问某一账户的推荐方式。
第六章 利用Linux文件系统权限控制文件访问
-
chmod -R a+X demodir
使用大写X而不是x,可以仅对目录而不是普通文件设置执行权限。之前一直没有发现X选项,导致无法单独针对目录设置可执行权限,导致权限设置的过高。 -
这个表格对suid,sgid和sticky位的解释非常清楚
第七章 监控和管理Linux进程
- 使用
&
或Ctrl+Z
、bg %jobid
将前台程序放入后台运行。其中,第一种是在程序启动时输入,第二种是先将运行中的程序暂停,再通过后台方式继续运行。 - 使用
fg %jobid
将后台进程移到前台进行 -
ps -j
、jobs
可以用来查询进程
。。。pdf的扫描版越到后面,缺失的页数越多。暂且这样吧,看看后面的内容会不会好一点。
第八章 控制服务和守护进程
systemctl -t help
可以显示可用单元类型列表。systemctl不止可以管理service,还可以管理很多系统相关的东西。-
systemctl代替service
systemctl list-dependencies UNIT
命令可以用于打印出启动指定单元时必须启动的其它单元的树形列表。
systemctl list-dependencies UNIT --reverse
选项可以显示出哪些单元必须在该UNIT启动之后再启动。-
服务冲突是,可以屏蔽服务,并不一定要禁用或者删除相关服务。之前遇到一个例子是,syslog与syslog-ng冲突,为了解决冲突,我卸载了syslog程序,学到这个方法后,可以使用
systemctl mask syslog.service
来屏蔽服务,而非卸载或禁用它。使用systemctl unmask syslog.service
来取消屏蔽。 -
汇总
第九章 配置和保护OpenSSH服务
这章有两条比较重要的知识:
- 使用
ssh-copy-id serverX
来将当前用户的公钥拷贝到服务器上, 配置基于密钥的SSH登录。 - 配置/etc/ssh/sshd_config文件,禁止root和密码验证登录。
PermitRootLogin no
PasswordAuthentication no