密码护城河、主机名标识与命令时光机|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
相关推荐
powerfulzyh2 小时前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid2 小时前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao2 小时前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔2 小时前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO3 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~3 小时前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
阳光不锈@3 小时前
麒麟桌面系统安装和配置Node.js
linux·麒麟系统安装node.js
叫我龙翔4 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络
小诸葛的博客4 小时前
Ubuntu如何如何安装tcpdump
linux·ubuntu·tcpdump
S hh4 小时前
【Linux】进程地址空间
java·linux·运维·服务器·学习