密码护城河、主机名标识与命令时光机|Linux安全与命令行魔法

Linux 密码复杂度设置

在 Linux 系统中,密码的安全性至关重要。如果设置了过于简单的密码,就如同敞开大门,邀请黑客入侵。

现实中,像 123456、123abc 或者 1qaz@WSX 这样缺乏复杂性的密码,极容易被猜测或通过暴力破解方法攻破。即使系统其它安全措施做得再好,也难以抵挡这样的攻击。

我们必须意识到密码的复杂性的重要性,并在修改密码时按照严格的规则设置。这不仅仅是一个简单的要求,更是一种责任和义务。

在设置密码时,我们希望达到这样的效果,如果密码不符合规定的复杂度要求,系统拒绝接受并提示我们重新设置密码。

同时,密码的定期更换也是保障系统安全的重要措施。建议每月或每季度更换一次密码,以确保密码的新鲜度和安全性。

密码的复杂性和定期更换是 Linux 系统安全不可或缺的一部分。以下是在 Linux 系统中配置密码复杂度规则的方法。

密码复杂度的配置文件 /etc/pam.d/system-auth

在修改 Linux 系统的配置文件之前,我们最好养成备份原文件的习惯。这样,如果修改过程中出现了错误,可以快速地将配置还原到原始状态。

你可以根据自己的需要,选择备份文件的目录,这里我们选择将备份文件,保存在与原文件相同的目录下。

cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

打开配置文件,在 password 开头的行,找到 pam_pwquality.so 这一行,把它注释,改成以下新的配置

vim /etc/pam.d/system-auth

ini 复制代码
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=10 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

以上配置的主要参数如下

minlen=10 #密码最小长度为 10 个字符,可以设置成自己想要的密码长度

lcredit=-1 #密码至少包含一个小写字母,可以设置包含多个小写字母,修改后面的数字即可

ucredit=-1 #密码至少包含一个大写字母,可以设置包含多个大写字母,修改后面的数字即可

dcredit=-1 #密码至少包含一个数字,可以设置包含多个数字,修改后面的数字即可

ocredit=-1 #密码至少包含一个特殊字符,例如 @,#,$等等,可以设置包含多个特殊字符,修改后面的数字即可

enforce_for_root #即使是 root 用户设置密码,也要按照这个复杂性策略

在等级保护中,设置 Linux 密码复杂度是确保系统安全的重要一环。根据等保要求,操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换。

通过合理设置密码策略并强制执行,Linux 系统可以大大提高密码的安全性,降低被攻击的风险,从而满足等保的要求。

Linux 修改主机名

主机名可用于识别 Linux 主机,特别是有多台 Linux 服务器的时候,可以快速认出对应的机器。

Linux 在没有修改主机名之前,终端提示符都差不多,一般包含用户名、主机名和当前工作目录的信息。

像下面这样的显示,如果多台服务器放在一起,就难以辨别各个主机,特别在做集群配置的时候。

为了更好的辨别,有必要修改服务器主机名,通过主机名称区分,以下是修改主机名的方法。

在修改主机名之前,我们先用命令查看服务器主机名

复制代码
hostname

或者这样查看

复制代码
hostnamectl

临时修改主机名,退出终端,我们重新连接终端立刻生效,服务器重启后失效,会显示修改之前的主机名

bash 复制代码
 hostname test

Linux 主机名永久生效的 2 种方法

1、修改主机配置文件

在配置文件中添加主机名后,并不能立刻生效,需要重启服务器才生效。想要立刻生效,可临时修改一下主机名,退出终端重新连接生效

这里使用 echo 命令和覆盖重定向的方式,以达到修改主机名的目的。

bash 复制代码
echo "myhost" >/etc/hostname

还可以使用 vim 命令,打开主机名配置文件,在该配置文件中,写入主机名,保存后退出。

值得一提的是,在配置文件中,无论写入多少个主机名,重启服务器后,系统通常只会识别第一个主机名,因为该文件的设计初衷是只包含一个主机名。/etc/hostname 文件应该只包含一个以换行符结束的主机名。

2、使用 hostnamectl 命令修改主机名

重新连接终端生效,重启服务器后,主机名永久生效

arduino 复制代码
hostnamectl set-hostname testhost

Linux 的历史命令记录

Linux 可以使用 history 命令查看用户操作历史记录,默认记录在用户家目录 .bash_history 文件中,也可以在系统级别配置文件/etc/profile中修改来影响所有用户的命令历史记录。

history 命令在 Linux 系统中默认保存最近执行的 1000 条命令。这个数量是由环境变量 HISTSIZE 控制的。

我们可以自行设置历史记录总数,修改配置 /etc/profile 文件做修改。打开 /etc/profile 文件,修改下面两个参数的值,这里保留 50 条记录

ini 复制代码
HISTFILESIZE=50   #保存命令总数
​
HISTSIZE=50  #history 命令输出总数

修改完后保存文件,重新加载配置文件

bash 复制代码
source /etc/profile

默认历史记录仅仅记录命令,不会记录时间,如果想知道某个命令,什么时候操作的,那就得加上时间了,在配置文件 /etc/profile 中追加两行,别忘了重新加载配置文件,使立刻生效

bash 复制代码
echo  "HISTTIMEFORMAT='%F %T '" >>/etc/profile
​
echo  "export HISTTIMEFORMAT" >>/etc/profile
​
source /etc/profile

查看历史命令记录

bash 复制代码
history

下面的内容是由 Linux 的历史命令记录及其衍生的一些简单操作,它们是基于 Linux 的命令历史记录功能,我们可以借助它们更加高效地在命令行界面中工作。

如果想要再次输入之前执行过的命令,那简直是小菜一碟,使用 history 命令查出来后,!编号,重新执行编号后面对应的命令。对于之前的命令行太长,重新手打太费时间,可以考虑使用这个方法。

也可以这样,!string 执行最近的以 string 开头的命令

bash 复制代码
!cat

!-n 执行倒数第 n 条命令,这里是倒数第 2 条命令

diff 复制代码
!-2

!! 执行上一条命令

diff 复制代码
!!

Alt+. 插入上一条命令的最后一个参数,执行命令行 ls /etc/hosts 时 ,我们只需键入 ls 命令后,使用组合键 Alt+. 插入上一条命令的最后一个参数 /etc/hosts ,对于很长的参数,这一招真的太好用了。

Ctrl+R 反向搜索命令历史,我们可以开始输入命令的一部分,然后按 Ctrl+R 来搜索历史记录中匹配该输入的最近命令。重复按 Ctrl+R 可以找到更早的匹配项。

除了上面的操作,还可以使用上下方向键,上下翻看之前执行过的命令,当我们找到想要重新执行的命令时,只需按回车键 Enter 即可执行该命令。对于重复执行之前的命令,结合快捷键和操作的方式,我们可以更加高效地在命令行中工作。

关闭命令历史记录后,上面的操作就会失效。下面是关闭命令历史记录的方法

设置 HISTSIZE 和 HISTFILESIZE 为 0

修改系统级别配置文件 /etc/profile ,将下面两个参数的值改成 0

ini 复制代码
export HISTSIZE=0  
export HISTFILESIZE=0

修改完后保存文件,重新加载配置文件生效

bash 复制代码
source /etc/profile
相关推荐
Peter·Pan爱编程6 分钟前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20131 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5491 小时前
DVWA中级
linux
Sadsvit2 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok2 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
苦学编程的谢2 小时前
Linux
linux·运维·服务器
G_H_S_3_3 小时前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
Linux运维技术栈3 小时前
多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
linux·ubuntu·centos·node.js·自动化
拾心213 小时前
【运维进阶】Linux 正则表达式
linux·运维·正则表达式
Gss7774 小时前
源代码编译安装lamp
linux·运维·服务器