最近碰到的几个问题 Linux密码策略

问题1 Linux密码策略

最近在测试服务器更新root密码时,提示这个错误,明显就是增加了密码策略,

BAD PASSWORD: The password contains less than 4 character classes
这个策略配置在这个文件中/etc/pam.d/system-auth,找到requisite和pam_pwquality.so行,pam_pwquality.so跟着的,都是功能参数,可根据说明,进行相关配置,需要加限制就加选项和值,

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 minclass=4

“minlen=8″,表示最小密码长度为8。

PAM 提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。

如果同时用上了这4种类型的符号,并且minlen设为大于6,那么最短的密码长度允许是6个字符。

“ucredit=-1″,表示密码必须至少包含一个大写字母

“lcredit=-2″,表示密码必须至少包含两个小写字母

“dcredit=-1″,表示密码必须至少包含一个数字

“ocredit=-1″,表示密码必须至少包含一个标点符号

“minclass=4″,表示密码必须至少包含大写字母、小写字母、数字、标点符号四类字符

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=3

“remember=3″参数,表示禁止使用最近用过的3个密码(己使用过的密码会被密文保存在 /etc/security/opasswd)。

因为这个是系统配置文件,建议修改前,进行备份。除了调整策略,这个文件尽量少调整,尤其是文件中的各种功能模块的顺序如果被改了,则可能有意外的惊喜。

另外,root用户使用passwd修改其他的用户密码,可以不受验证机制的约束,即使提示错误,也可以修改成功,算是一个后门,

BAD PASSWORD: it is based on your username
BAD PASSWORD: it is based on a dictionary word

问题2 sudo授权

有时候我们需要一个普通用户拥有sudo执行权限,可以修改/etc/sudoers这个配置文件,为test用户增加sudo免密码的权限,

Allow root to run any commands anywhere

root ALL=(ALL) ALL
test ALL=(ALL) NOPASSWD:ALL
第一个ALL表示允许从任何终端、机器访问sudo。第二个ALL表示sudo命令被允许以任何用户身份执行。NOPASSWD:ALL表示执行任意命令都不需要密码。

知识点:

su表示“switch user”。

sudo表示“superuser do”。允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用他来以提升的权限来运行命令。

问题3 springboot运行时指定配置文件

在开发springboot时,通常一些配置、路径等,不同的环境,是不相同的,我们可能对不同的环境,创建不同的配置文件,为的就是能将配置和环境独立, application.yml application-dev.yml application-pro.yml

在application.yml中,我们可能定义,指定使用的是application-dev.yml的配置文件,

spring:
profiles:
active: dev
当执行的时候,命令行中可以通过指定-Dspring.profiles.active=pro,让其运行时,选择application-pro.yml配置,

java ${JAVA_OPTS} -jar -Dspring.profiles.active=pro ${APP_DIR}/${JAR_NAME}
日志中则显示当前用的配置是pro,

The following profiles are active: pro

问题4 程序引用application.yml参数值

例如我们在application.yml中定义,

excel:
path: ‘D:’
在程序中的Entity类,我们用这个标签引用这个参数值,

@ConfigurationProperties(prefix = “excel”)
他会提示一个warning,

When using @ConfigurationProperties it is recommended to add ‘spring-boot-configuration-processor’ to your classpath to generate configuration metadata
提示很清楚,需要在pom.xml中,增加这个依赖,

org.springframework.boot spring-boot-configuration-processor true

问题5 jxl操作文件兼容性

我们用jxl操作excel的时候可能会碰到这个错误,

jxl.read.biff.BiffException: Unable to recognize OLE stream
可能有两个原因,

导入的excel不是jxl认定的标准的OLE file,可是打开的看起来是excle,可以将这个excel重新另存为一个excel,可能看到他默认的保存类型是“单个文件网页”,然后将他的类型存储为Microsoft Office Excel即可。
另外一个可能的原因是excel的版本问题,但是由于版本限制,JAVA可以利用jxl简单快速的读取文件的内容,只能读取97-03 xls格式的Excel,不支持读取excel 2007文件(*.xlsx)。需要存储为正确的格式,如下所示,

《最近碰到的几个问题》

问题1 Shell中的判断

问题2 一个正则需求

问题3 xml文件过滤标签

问题4 JSON解析

问题5 JSON字符串和JSON对象

《最近碰到的几个问题》

问题1 在程序中和MySQL做交互的时候,提示这个错误,Column count doesn’t match value count at row 1

问题2 从MySQL集群环境用mysqldump导出导入数据的时候,提示这个错误,@@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty

问题3 MySQL导出的时候,一般用什么参数?

《最近碰到的一些问题》

问题1 按照空格分割字符串的需求

问题2 MyBatis错误,Invalid bound statement (not found)

问题3 JDBC错误,java.sql.SQLException: ORA-03115

问题4 JDBC连接串中使用SID和SERVICE NAME的不同

问题5 SQL Server的CTAS

《日常工作中碰到的几个技术问题》

问题1 PLSQL Developer中文显示问题

问题2 Windows 10安装PLSQL Developer

问题3 PLSQL Developer登录报错ORA-12504

问题4 Windows 10的PLSQL Developer字体显示很小

问题5 包含特殊字符的Oracle用户名创建 问题6 执行10053未生成trace

近期更新的文章:

《新增字段在数据块中的体现》

《SQL Server的索引碎片》

《MySQL客户端预读数据的区别》

《MySQL分组需求探秘》

《小白学习MySQL – 查询会锁表?》

文章分类和索引:

《公众号700篇文章分类和索引》

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/422894.html

(0)
联系我们
联系我们
分享本页
返回顶部