系统安全 --------- 账号安全管理

本文介绍了Linux系统中的账号管理,包括账号清理、安全设置、删除历史命令、用户切换与提权。强调了锁定非登录用户账号、设置密码有效期、删除历史命令的重要性,并详细讲解了su和sudo命令的使用,以及PAM认证机制,旨在加强系统安全。
摘要由CSDN通过智能技术生成

系统账号管理

账号清理

  • 账号分为 登录用户 与 非登录用户:
    登录用户:为超级用户root、自己创建的普通用户、别人使用的其他用户。
    非登录用户:为随系统或程序安装过程产生的其他大量其他账号包(例如 bin、daemon、adm、ip、mail、nobady、apache、mycql、dbus、ftp、gdm、haldaemon等)

  • 为了确保系统安全,这些非登录用户shell通常是 /sbin/nologin 的,表示禁止终端登录,确保别人不能随意改动。

[root@localhost~]#grep “/sbin/nologin” /etc/passwd ######可以查看禁止登录的非登录用户

而这种非登录用户中有相当一部分很少用到或根本不会用到,这些账号可以视为冗余账号,没什么卵用还占开机速度占空间等,我们就直接删除即可

  • 对于Linux服务器中长期不用的用户账号,不确定能不能删除,可以暂时时将其锁定,等到以后再删。

示例:
[root@localhost~]#usermod -L xiaojiejie 或者 passwd -l xiaojiejie ########锁定账号
[root@localhost~]#passwd -S xiaojiejie #########查看账号是否锁定状态

[root@localhost~]#usermod -U xiaojiejie 或者 passwd -u xiaojiejie ############解锁账号
[root@localhost~]#passwd -S xiaojiejie ##########查看账号是否锁定状态

  • 最安全的便是锁定账号的配置文件,只要锁上,如果不解开是无法删除的,无法添加账号,不能更改密码,登录shell,属主目录等属性信息。

[root@localhost~]#chattr +i /etc/passwd /etc/shadow #######锁定文件
[root@localhost~]#lsattr /etc/passwd /etc/shadow###########查看锁定的状态
----i-------- /etc/passwd
----i-------- /etc/shadow
[root@localhost~]#chattr -i /etc/passwd /etc/shadow #########解锁文件
[root@localhost~]#lsattr /etc/passwd /etc/shadow###########查看锁定的状态
------------- /etc/passwd
------------- /etc/shadow

账号安全设置

在不安全的网络环境中,为了降低密码被猜出或者被暴力破解的风险,用户应该养成定期更改密码的习惯,避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已经过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。
密码有效期为30天:
[root@localhost~]#vi /etc/login.defs###########适用于新建的用户
PASS_MAX_DAYS 30########添加这条命令
[root@localhost~]#chage -M 30 lisi###########适用于已有的lisi用户

统一要求所有用户更改新密码:
[root@localhost~]#chage -d 0 xiaojiejie##########要求小姐姐用户下次登录需要改密码

删除历史命令

防止你的电脑被入侵后一查你的历史命令,你输了哪些命令一清二楚
有二种清除历史命令的方式:
1、history -C##########只能清除当时的历史命令,重启机器后就会再次出现
2、**vi /.bash_profile**#######vi编辑/.bash_profile
export HISTSIZE=0######添加这条命令,重启后删除这条命令,在刷新下

用户切换与提权

大多数Linux服务器并不建议用户直接以root用户进行登录,一方面可以大大减少因错误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络环境中被泄露的风险。鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以便在必要的时候执行管理任务。

su命令——切换账户

示例:
[root@localhost~]#su - root ##############切换至root账户
password:

其中选项“-”表示切换用户后进入目标用户的登录shell环境,若缺少此选项则仅切换身份,不切换用户环境。对于切换root 用户,目标 root 可以省略不写。

  • 默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险。为了加强su命令的使用控制,可以借助于pam_wheel 认证模块,至允许极个别用户使用su命令进行切换。
    示例:
    将授权使用su命令的用户kcce添加到wheel 组,修改/etc/pam.d/su 认证配置以启用pam_wheel认证
    [root@localhost~]#gpasswd -a kcce wheel ######添加授权用户kcce
    (显示:) Adding user kcce to group wheel
    [root@localhost~]#grep wheel /etc/group###########确认wheel组成员
    (显示:) wheel:x:10:kcce
    [root@localhost~]#vi /etc/pam.d/su###########编辑配置文件/etc/pam.d/su
    (显示:) #%PAM-1.0
    auth sufficient pam_rootok.so

    auth required pam_wheel so use_uid #############去掉此行开头的#号

启用pam_wheel 认证后,未加入到wheel 组内的其他用户将无法使用su命令,尝试切换时会显示“拒绝权限”

sudo命令——提升执行权限

当你是普通用户在执行命令时有时会提示你没有执行权限,这会搞的你很不爽,所以这时你就得切换到超级用户root 账户,所以你必须得知道root 账户的密码,在生产环境中的Linux服务器每多一个人知道特权密码,其安全风险也就增加一分,而在这种情况下,管理员既不想给你密码又能让你有特权执行命令时就可以用到 sudo 命令了。(当然这得是管理员的事情了,是需要他来设置的)

  • 在配置文 /etc/sudoers 中添加授权
    sudo 机制的配置文件为 /etc/sudoers ,文件的默认权限为440,需使用专门的 visudo 工具进行编辑。
    也可以使用 vi /etc/sudoers 编辑文件,不过保存时必须执行 “wq!”强制操作,否则系统提示为只读文件而拒绝保存
    格式:user MACHINE=COMMANDS
    #:用户(user):授权的用户名,或采用 “%组名” 的形式 (授权一个组的所有用户)
    #:主机(MACHINE):使用此配置文件的主机名,此部分主要是方便在多个主机间共用同一份 sudoers 文件,一般设置为 localhost 或者实际的主机名即可。
    #:命令(COMMANDS):允许授权的用户通过sudo方式执行的授权命令,需要填写命令程序的完整路径,多个命令之间以 逗号 ”,“进行分隔。
    1、 典型的 sudo 配置记录中,每一行对应一个用户或组的 sudo 授权配置
    示例:
    要授权用户 Jerry 能够执行 ifconfig 命令来修改IP地址,而wheel 组的用户不需要验证密码就可执行文件

    [root@localhost~]# visudo
    (…省略一大堆内容)
    Jerry localhost=/sbin/ifconfig
    %wheel (空好几格) ALL=NOPASSWD:ALL

    ——————————————————————
    2、当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名来设置。
    用户(User_Alias)、主机(Host_Alias)、命令(Cmnd_Alias)
    示例:
    通过别名的方式来添加授权记录,允许用户Jerry、tom、kcce 在主机 smtp、pop 中执行 rpm、yum命令

    [root@localhost

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值