1 在启动grub菜单,选择编辑选项启动
我们在VM或者VirtualBox中点击启动后出现的第一个界面就是grub菜单界面
2 按键盘e键,来进入编辑界面
出现菜单界面后要立即按e键,如果按晚了就直接进入系统了
3 - 找到Linux 16的那一行,将 ro 改为 rw init=/sysroot/bin/sh
一定要仔细的寻找关键字,这个是重置密码的关键信息,如果没有找到,就重新启动服务器按照步骤一步一步的来
单用户模式就像windows 的安全模式一样,允许特定的用户执行一些 *** 作,比如重置用户密码等
chroot /sysroot
6 - 重置密码
passwd root
7 - 更新系统信息
touch /.autorelabel
8 - 退出单用户模式
exit
9 – 登录Root账户
进入Centos登陆界面,选择“未列出用户”,在用户名一栏输入“root”,然后输入第6步中设置的密码,登录。
10 – 修改普通用户登录密码
打开命令行,输入passwd user(待找回用户密码的用户名)
根据提示输入两次新的密码即可。
ftp权限配置是比较繁琐的。我之前只配置在ubuntu 14.04中配置过,没在centos 7中配置过,具体过程可以参考下:
一. 为了服务器的安全,只可以使用ftp登录,禁止使用telnet与ssh登录
1,修改/etc/pam.d/vsftpd的验证模块 # Standard behaviour for ftpd(8). auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable # pam_ftp.so.
# Standard blurb. @include common-account @include common-session
@include common-auth #auth required pam_shells.so 注销下auth required pam_sheels.so验证
2,修改/etc/vsftpd.conf文件,添加check_shell=NO至vsftpd文件。
3,修改/etc/passwd用户的shell为false或nologin,重启/etc/init.d/vsftpd即可. 当然,也可以修改/etc/passwd中wp26:x:1002:1002::/home/vhost/wp26:/bin/false的最后/bin/false为/usr/bin/passwd,让用户登录系统只能够修改密码。
二. 设置ftp相关目录
一、密码复杂度设置
CentOS密码复杂度配置通过/etc/pam.d/system-auth文件中的pam_cracklib.so模块来实现。
首先查看/etc/pam.d/system-auth文件
可以看到当前并没有看到pam_cracklib.so模块
原因:
pam_pwquality.so是兼容pam_cracklib.so模块的,所以pam_cracklib.so的选项也适用于pam_pwquality.so
pam_cracklib.so支持的部分选项如下:
retry=N:定义登录/修改密码失败时,可以重试的次数
minlen=N:新密码的最小长度
dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;
ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查
maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。实例是'12345'或'fedcb'。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。
enforce_for_root: 如果用户更改密码是root,则模块将在失败检查时返回错误。默认情况下,此选项处于关闭状态,只打印有关失败检查的消息,但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查
接下来修改system-auth文件,配置密码复杂度策略
在system-auth文件中 pam_pwquality.so后添加minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1
参数含义:密码长度最小为8位,数字出现的最少次数为2次,大写字母出现最少1次,小写字母出现最少1次,特殊字符出现最少1次
保存退出后,进行测试密码复杂度配置是否生效
新建一个test账户,使用root账户设置test账户的密码为test,密码修改成功。(证明root账户不受pam认证规则的限制)
账号密码规则测试:
然后切换到test账户设置test账户的密码。这里尝试设置密码为Pw39@。
报错提示大写字母少于8位,说明minlen=8已经生效。
接下来尝试设置密码为Pwqwert@
报错提示数字少于2位,说明dcredit=-2已经生效。
接下来尝试设置密码为pw12qwer@
报错提示大写字母少于1位,说明ucredit=-1已经生效。
passwd:Have exhausted maximum number of retries for service(passwd:已经用尽了最多可重试的服务次数),说明retry=3已经生效。
接下来重新设置密码,尝试设置密码为PW12QWER@
报错提示小写字母少于1位,说明lcredit=-1已经生效。
接下来尝试设置密码为Pw12qwer
报错提示特殊字符少于1位,说明ocredit=-1已经生效。
限制root用户
vi etc/pam.d/system-auth
在sysstem-auth文件中pam_pwquality.so行添加enforce_for_root
然后测试是否root被限制,也要遵守密码复杂度策略
用root账户设置test账户密码为Pw12qwer
报错提示特殊字符少于1位,说明root用户已经被限制,也要遵守pam认证规则。
二、禁用root用户登录
注意:禁用root前必须要创建一个普通账户,并且验证用户可以正常登录
1、首先增加一个普通账号,别禁止root账号后没有其他账号登录系统了:
——增加用户:adduser xxxx
——设置密码:passwd xxxx
2、修改ssh配置:
——修改配置文件:vi /etc/ssh/sshd_config
——配置文件中增加一行:PermitRootLogin no
——保存退出,重启ssh服务:service sshd restart
3、下次登录系统,root账号会被拒绝登录。
——可以先用xxxx登录,之后su root即可
三、限制用户登录失败次数并锁定用户
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)