3、将/etc/login.defs 文件中的有效信息过滤出来并导入/opt/login.txt文件中---有效信息指的是不要空行,不要"#"开头的信息("#"开头的信息为注释行)
时间: 2024-05-23 22:14:47 浏览: 6
#"开头的注释行,不要以空格或制表符开头的行,只保留以字母、数字、下划线、"-"、"."开头的行。
将有效信息过滤出来并导入/opt/login.txt文件的方法如下:
1. 打开/etc/login.defs文件:可以使用vi、nano等文本编辑器打开。
2. 进行过滤操作:使用grep命令过滤出有效信息。命令如下:
grep -vE '^$|#|^[\t ]' /etc/login.defs | grep -E '^[a-zA-Z0-9_.-]' > /opt/login.txt
这个命令的含义是:
- -v选项表示反选(即只输出不匹配的部分)
- -E选项表示使用扩展正则表达式
- '^$'匹配空行
- '#'匹配注释行
- '^[\t ]'匹配以空格或制表符开头的行
- '|'(管道符)表示将前一个命令的输出作为后一个命令的输入
- '^[a-zA-Z0-9_.-]'匹配以字母、数字、下划线、"-"、"."开头的行
- '>'表示将输出重定向到/opt/login.txt文件中
3. 保存文件:保存/etc/login.defs文件和/opt/login.txt文件,完成操作。
最终,/opt/login.txt文件中会包含从/etc/login.defs文件中过滤出的有效信息,符合上述条件的行将保留,不符合条件的行将被过滤掉。
相关问题
如何在/etc/login.defs文件中进行设置
要在Linux中设置密码加密方式,可以通过编辑/etc/login.defs文件来实现。打开该文件,可以看到其中包含了许多系统登录相关的设置,包括密码算法、密码长度、密码过期时间等。
下面是在/etc/login.defs文件中设置密码加密方式的步骤:
1. 以root身份登录系统,打开终端窗口。
2. 输入以下命令打开/etc/login.defs文件:
```
sudo vi /etc/login.defs
```
3. 找到以下行:
```
ENCRYPT_METHOD SHA512
```
这里的SHA512就是密码加密方式,默认情况下Linux使用SHA512算法来加密用户密码。如果要更改加密方式,可以将SHA512改为其他算法,如MD5、SHA256等。
4. 修改完成后,保存文件并退出编辑器。
5. 重新启动系统或者重启所有的登录进程,以使新的设置生效。
注意:在更改密码加密方式之前,应该先备份/etc/login.defs文件,以防止设置出现问题导致系统无法登录。
逐条注释 ``` if grep -q "PASS_MIN_DAYS" /etc/login.defs then sed -i '/PASS_MIN_DAYS/s/^#//' /etc/login.defs sed -i "s/PASS_MIN_DAYS.*/PASS_MIN_DAYS 6/g" /etc/login.defs fi if grep -q "PASS_MIN_LEN" /etc/login.defs then sed -i '/PASS_MIN_LEN/s/^#//' /etc/login.defs sed -i "s/PASS_MIN_LEN.*/PASS_MIN_LEN 8/g" /etc/login.defs fi if grep -q "PASS_MAX_DAYS" /etc/login.defs then sed -i '/PASS_MAX_DAYS/s/^#//' /etc/login.defs sed -i "s/PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g" /etc/login.defs fi if grep -q "PASS_WARN_AGE" /etc/login.defs then sed -i '/PASS_WARN_AGE/s/^#//' /etc/login.defs sed -i "s/PASS_WARN_AGE.*/PASS_WARN_AGE 7/g" /etc/login.defs fi ```
这段脚本的作用是修改/etc/login.defs文件中的密码策略配置。具体解释如下:
```shell
if grep -q "PASS_MIN_DAYS" /etc/login.defs
then
sed -i '/PASS_MIN_DAYS/s/^#//' /etc/login.defs
sed -i "s/PASS_MIN_DAYS.*/PASS_MIN_DAYS 6/g" /etc/login.defs
fi
```
- 检查/etc/login.defs文件中是否存在"PASS_MIN_DAYS"这一行。
- 如果存在,则使用sed命令将该行的行首的注释符号#去掉,即取消注释。
- 然后使用sed命令将该行的值修改为"PASS_MIN_DAYS 6",即设置最小密码更改天数为6。
```shell
if grep -q "PASS_MIN_LEN" /etc/login.defs
then
sed -i '/PASS_MIN_LEN/s/^#//' /etc/login.defs
sed -i "s/PASS_MIN_LEN.*/PASS_MIN_LEN 8/g" /etc/login.defs
fi
```
- 检查/etc/login.defs文件中是否存在"PASS_MIN_LEN"这一行。
- 如果存在,则使用sed命令将该行的行首的注释符号#去掉,即取消注释。
- 然后使用sed命令将该行的值修改为"PASS_MIN_LEN 8",即设置最小密码长度为8。
```shell
if grep -q "PASS_MAX_DAYS" /etc/login.defs
then
sed -i '/PASS_MAX_DAYS/s/^#//' /etc/login.defs
sed -i "s/PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g" /etc/login.defs
fi
```
- 检查/etc/login.defs文件中是否存在"PASS_MAX_DAYS"这一行。
- 如果存在,则使用sed命令将该行的行首的注释符号#去掉,即取消注释。
- 然后使用sed命令将该行的值修改为"PASS_MAX_DAYS 90",即设置最大密码有效天数为90。
```shell
if grep -q "PASS_WARN_AGE" /etc/login.defs
then
sed -i '/PASS_WARN_AGE/s/^#//' /etc/login.defs
sed -i "s/PASS_WARN_AGE.*/PASS_WARN_AGE 7/g" /etc/login.defs
fi
```
- 检查/etc/login.defs文件中是否存在"PASS_WARN_AGE"这一行。
- 如果存在,则使用sed命令将该行的行首的注释符号#去掉,即取消注释。
- 然后使用sed命令将该行的值修改为"PASS_WARN_AGE 7",即设置密码过期提醒天数为7。
这段脚本的目的是修改/etc/login.defs文件中的密码策略配置,包括设置最小密码更改天数、最小密码长度、最大密码有效天数和密码过期提醒天数等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)