Linux基本防护,用户有效时间设置,锁定用户,锁定文件,隐藏系统版本

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ck784101777/article/details/102532644

一、设置用户的有效时间-chage命令

1.chage命令使用场景

chage这个命令可以查看的密码过期时间,账户过期时间,两次密码之间的修改间隙,提示用户按时修改密码.

在公司里一般用于设置用户的有效时间,管理员给你的账户一般都设置了有效时间,以防止你在离职后仍可以访问终端.还可以提示你定期修改密码,提高用户安全性

2.chage命令选项

chage [选项]

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”
 

3.查看用户的过期时间

创建一个用户查看用户的过期时间,默认的过期时间是永久.第一次就该密码时间为创建用户的日期.

chage -l 用户名

[root@web1 ~]# useradd jjh  

[root@web1 ~]# chage -l jjh
最近一次密码修改时间                    :10月 14, 2019
密码过期时间                    :从不
密码失效时间                    :从不
帐户过期时间                        :从不
两次改变密码之间相距的最小天数        :0
两次改变密码之间相距的最大天数        :99999
在密码过期之前警告的天数    :7
 

4.修改用户的过期时间

如上我创建了一个用户,创建时间是 2019-10-14,我使用chage命令将用户zhangsan的账户设为当前已失效(已经过去的某个时间).提示账号已经过期

chage -E 时间(xxxx-xx-xx) 用户名

  1. [root@proxy ~]# chage -E 2019-10-13 jjh
  2. [root@proxy ~]$ ssh [email protected]
    [email protected]'s password: 
    Your account has expired; please contact your system administrator
    Authentication failed.

5.定义默认有效期

/etc/login.defs这个配置文件,决定了账户密码的默认有效期。

  1. [root@proxy ~]# cat /etc/login.defs
  2. PASS_MAX_DAYS    99999                        //密码最长有效期
  3. PASS_MIN_DAYS    0                            //密码最短有效期
  4. PASS_MIN_LEN    5                            //密码最短长度
  5. PASS_WARN_AGE    7                            //密码过期前几天提示警告信息
  6. UID_MIN 1000                //UID最小值
  7. UID_MAX 60000                //UID最大值

二、锁定用户-passwd

1.锁定用户

passwd -l 用户名

[root@web1 ~]# passwd -l jjh
锁定用户 jjh 的密码 。
passwd: 操作成功
[root@web1 ~]# passwd -S jjh
jjh LK 2019-10-14 0 99999 7 -1 (密码已被锁定。)
[root@web1 ~]# ssh jjh@localhost               //无法登录

Permission denied, please try again.

2.解锁用户 

passwd -u 用户名

[root@web1 ~]# passwd -u jjh
解锁用户 jjh 的密码。
passwd: 操作成功
[root@web1 ~]# passwd -S jjh
jjh PS 2019-10-14 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
 

三、锁定文件-chattr

1.chattr命令

用法:chattr +ASabcdDisut 文件名

A:即Atime,告诉系统不要修改对这个文件的最后访问时间。

S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。

a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:当dump程序执行时,该文件或目录不会被dump备份。

D:检查压缩文件中的错误。

i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。

u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。

t:文件系统支持尾部合并(tail-merging)。

X:可以直接访问压缩文件的内容。

 2.使文件无法修改和删除

  1. [root@proxy ~]# chattr +i /etc/resolv.conf
  2. [root@proxy ~]# lsattr /etc/resolv.conf    //查看权限
  3. ----i---------- /etc/resolv.conf
  4. [root@proxy ~]# rm -rf /etc/resolv.conf
  5. rm: 无法删除"/etc/resolv.conf": 不允许的操作
  6. [root@proxy ~]# echo xyz > /etc/resolv.conf
  7. -bash: resolv.conf: 权限不够

四、隐藏系统版本

1.账户在登录Linux系统时,默认会显示登陆信息(包括操作系统内核信息)

/etc/issue这个配置文件里保存的就是这些登陆信息,修改该文件防止内核信息泄露。

  1. [root@proxy ~]# cat /etc/issue                             //确认原始文件
  2. Red Hat Enterprise Linux Server release 6.5 (Santiago)
  3. Kernel \r on an \m
  4.  
  5. [root@proxy ~]# vim /etc/issue                             //修改文件内容
  6. Windows Server 2012 Enterprise R2
  7. NT 6.2 Hybrid

2.测试版本伪装效果

退出已登录的tty终端,或者重启Linux系统,刷新后的终端提示信息会变成自定义的文本内容

猜你喜欢

转载自blog.csdn.net/ck784101777/article/details/102532644
今日推荐