加固的操作系统,如何创建SFTP账号

前言

操作系统版本:Centos 7

因为安全原因,操作系统被加固。加固过后,无法创建或者修改sftp账号。

正文

1. 如果系统已经加固,那么创建一个新用户,会报错如下:useradd: cannot open /etc/passwd

[root@localhost ~]# useradd test
useradd: cannot open /etc/passwd

2. 查看passwd文件的隐藏属性:

[root@localhost ~]# lsattr /etc/passwd
----i----------- /etc/passwd

上面的 i 表示文件不可修改,因此,执行 useradd test 命令时,会提示不能打开该文件。

3. 修改文件的隐藏属性,去掉 i 属性:

[root@localhost ~]# chattr -i /etc/passwd
[root@localhost ~]#

使用chattr -i 即可删除 i 属性,再次查看文件隐藏属性:

[root@localhost ~]# lsattr /etc/passwd
---------------- /etc/passwd

此时,会发现 i 属性已经没有了。再次创建用户:

[root@localhost ~]# useradd test
useradd: cannot open /etc/group
[root@localhost ~]#

提示不能打开group文件,重复上面的步骤,将group的隐藏属性去掉,再次执行创建用户命令,看是否还有异常信息,直到创建用户成功。

为了简述,这里就直接罗列出创建用户涉及到的文件:

/etc/passwd
/etc/group
/etc/shadow
/etc/gshadow

 检查以上四个文件的隐藏属性,如果包含 i ,则对其进行修改,直到用户创建成功。

[root@localhost ~]# useradd test
[root@localhost ~]# cat /etc/passwd|grep test
test:x:1003:1003::/home/test:/bin/bash

4. 创建密码:

[root@localhost ~]# passwd test
Changing password for user test.
New password:
BAD PASSWORD: it is too simplistic/systematic
Retype new password:
passwd: Authentication token manipulation error

密码创建失败,报错信息:passwd: Authentication token manipulation error 。这时需要检查/etc/pam.d/system-auth文件。加固时,会修改该文件,增加密码的复杂度等规则。由于彼此修改的规则不同,因此,为了省事,建议找一个未加固的版本来替换,当然,首先需要备份当前文件/etc/pam.d/system-auth,比如:

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

注意:system-auth 可能是一个软链接,指向的是/etc/pam.d/system-auth-ac,所以需要注意修改的文件是否准确。

这里放一个未加固的配置供参考,可用此配置来绕过密码创建失败的问题:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

直接将上面的内容复制,然后粘贴至/etc/pam.d/system-auth里面即可。接下来,重新执行创建密码的命令:

[root@localhost pam.d]# passwd test
Changing password for user test.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost pam.d]#

上面为test用户设置的密码也是test,密码设置成功。

后续其他动作,我这里就不在赘述,比如:修改目录所属用户组,修改目录的读写权限等等。

待上述操作都执行完后,我们还需要将之前修改的所有配置都改回去,保证系统依然是加固版本,避免不安全因素发生。

5. 恢复加固,前面提到的删除隐藏属性用到的是chattr -i,恢复隐藏属性则用:chattr +i。- 表示删除,+表示增加,很好记吧。为了直观对比,以下命令在执行修改前后都先输出了文件当前的隐藏属性:

[root@localhost pam.d]# lsattr /etc/passwd
---------------- /etc/passwd
[root@localhost pam.d]# chattr +i /etc/passwd
[root@localhost pam.d]# lsattr /etc/passwd
----i----------- /etc/passwd

同样的方法,将/etc/group,/etc/shadow,/etc/gshadow 都加上隐藏属性。

另外,我们还修改了/etc/pam.d/system-auth文件,将备份文件恢复即可:

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

至此,加固恢复完毕,想要验证是否生效,则可以创建一个新用户,比如:useradd test1,看看是否允许创建即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值