[Linux]操作控制和安全管理

一、用户的账号安全管理

1.1 用户账号清理

         在使用Linux系统的过程中,不仅仅是root用户和普通用户的创建,还有很多是系统运转过程中产生的系统用户。出于系统安全考虑,一般不给予系统用户登录的权限,将它们归类为非登录用户

将用户设置为无法登录的手段:

usermod -s /sbin/nologin 用户名 //通过usermod 修改登录shell

1.2 对用户账号进行操作 

1.2.1 锁定用户
# 锁定方式
 usermod -L 用户名     //锁定用户
 
 
 passwd -l 用户名      //锁定用户
 
 ​

具体方法:

 

1.2.2 解锁用户
#解锁方式
 
passwd -u 用户名      //解锁用户
 
 
usermod -U 用户名     //解锁用户

具体操作:

1.2.3 删除用户
#删除方法
userdel 用户名        //删除用户,但不删除用户的家目录
userdel -r 用户名     //删除用户的同时,删除他的家目录

具体操作:

 

1.3 对用户信息和用户密码文件进行保护 

tips: 
 /etc/passwd  //用户配置文件
 /etc/shadow  //用户密码配置文件
重要文件保护命令:
chattr +i  文件       #锁定
chattr -i  文件       #解锁    
lsattr                #查看文件锁定状态

1.4 对用户密码进行控制操作

1.4.1 对已经存在的用户账号进行控制
chage  [选项]    用户名
        -M:密码保持有效的最大天数。
          -d:设置”最后一次修改密码的日期“。设置为 0 有特殊意思,表示用户应该在下次登录系统时更改密码。

  1.4.2   对新建的用户密码默认设置
vim /etc/login.defs    //用户登录密码的默认配置

二、终端自动注销和历史命令

 2.1 历史命令的限制

 2.1.1 清除当前用户的历史命令

命令:

history     //查看当前用户的历史命令
 
history -c    //清空当前用户的历史命令
clear        //清除命令,但还是可以看到

history -c 命令只可以临时清除记录(其实所有的文件都还保存在.bash_history ),重启后记录还在。 

2.1.2 对历史命令的默认配置进行修改 

 

Linux中环境配置文件
位置说明
/etc/profile该文件为系统的每个用户设置环境信息,在用户首次登录时执行。它还从 /etc/profile.d 目录中的配置文件收集 shell 设置。如果要更改 /etc/profile 文件,必须在源文件中添加源(.) 必须添加到源代码中。
 /etc/bashrc 为每个运行 bash shell 的用户运行此文件。打开 bash shell 时会读取该文件。如果想更改所有 bash 用户的设置,并将其反映在以后打开的所有 bash shell 中,可以更改此文件。更改该文件无需重启,只需重新打开 bash shell 即可生效。 Ubuntu 没有这样的文件,对应的文件是 /ect/bash.bashrc。
 ~/.bash_profile每个用户都可以使用该文件输入特定的 shell 信息,该文件只在用户登录时执行一次!默认情况下,它会设置一些环境变量,并运行用户的 ~/ .bashrc 文件。 该文件类似于 /etc/profile,但需要一个源文件才能激活,其中 /etc/profile 对所有用户有效,而 ~/.bash_profile 仅对当前用户有效。~/.profile (用于 Bourne Shell 和 Korn Shell)和 .login (用于 C Shell)是 .bash_profile 的同义词,旨在与其他 shell 兼容。
~/.bashrc该文件包含 bash shell 特有的 bash 信息,在登录时或每次打开新 shell 时读取(每个用户的用户目录中都有一个 ~/.bashrc 文件)。(每个用户在其用户目录下都有一个 ~/.bashrc 文件)。该文件类似于 /etc/bashrc,但无需重启即可生效,而是在重新打开 bash 时生效。 /etc/bashrc 会对所有用户新打开的 bash 启用,而 ~/.bashrc 只对当前用户新打开的 bash 启用。 当 bash shell 调用另一个 bash shell 时,即在 shell 中输入 bash 命令启动新 shell 时,~/.bashrc 文件将被读取。这就有效地将登录环境与子 shell 环境分离开来。不过,通常的做法是在 /.bash_profile 中调用 /.bashrc 脚本,以统一用户环境。
[root@localhost ~]#vim  /etc/profile   //打开配置环境
 
 
 
export HISTSIZE=20    // 在/etc/profile 配置中插入, 表示限制历史命名为二十条
 
 
[root@localhost ~]#source /etc/profile    //刷新加载该配置文件

 

自动清空的方式 : 

1. 注销时自动清空历史命令 
 [root@localhost ~]# vim ~/.bash_logout
 echo " " > ~/.bash_history
 ​
2. 登录时自动清空历史命令
 [root@localhost ~]# vim ~/.bashrc
 echo " " > ~/.bash_history

2.2  设置终端自动注销

[root@localhost ~]# vim /etc/profile
 
export TMOUT=n           #设置登录后无操作退出登录超时时间(n秒后自动注销)

三、切换用户

 3.1 su命令的使用

  su 命令:可以在终端中切换已知密码的用户,root用户默认普通用户不需要密码。普通用户之间的切换需要密码的切换

su    用户名
 
whoami  查看当前使用的用户
 
pwd 查看当前路径

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换。

su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换。

3.2 限制用户之间的切换

限制用户切换的原因: 

 su 命令虽然方便了普通用户之间的来回切换,但是也存在着一定的安全隐患,如果某一个普通用户的密码泄露,就会成为其他用户的隐患,所以有时候要对一些用户进行切换的限制,防止造成信息泄露的损失

3.2.1 shell模块
vim /etc/pam.d/su    进入存放wheel组和默认root切换权限的配置

限制普通用户切换: 

3.3 limit 

功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间

ulimit:修改限制

  -a:可以看到系统的相关资源限制设置

vim /etc/security/limits.conf   //修改限制

 

四、授权用户管理

4.1 sudo命令运用前的配置

授权是通过修改Linux系统中/etc/sudoers 的配置,在配置中可以指定用户拥有什么样的权力,而普通用户被授权后,普通用户通过sudo 命令以 root 身份去执行授权的命令

vim  /etc/sudoers    //打开授权配置文件,写入配置需要强制保存(wq!)
 
visudo   //  l快捷打开 /etc/sudoers 
用户名    主机host=(root)    绝对路径命令
 
wangwu        ALL=(root)/usr/bin/mount   /dev/cdrom   /mnt

4.2  普通用户使用授权命令  

mkdir ~/guazhai    //通过ww用户在家目录下创建一个 guazhai的空文件
 
sudo  mount /dev/sr0   ~/guazhai  //sudo  加配置的命令表中的命令,以root的身份去运行该授权命令

注意:第一次执行需要验证密码,默认超时时长为5分钟,在此期间不再重复验证密码 

4.3 使用别名进行批量设置普通用户授权 

visudo 文件中由四种别名设置:

        User_Alias(用户)

        Host_Alias(登录主机)

        Cmnd_Alias(命令)

        Runas_Alias(代表用户)

 
User_Alias USERS=zhangsan,lisi   //批量设置 用户获权
#Host_Alias HOST=localhost
Cmnd_Alias CMNDS=/usr/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/bin/rm
 
//利用别名,批量设置命令
USERS ALL=CMNDS
//启用格式

五、端口扫描工具 

5.1  namp工具

       —— 一款强大的网络端口扫描、安全、检测工具

 检查并安装 namp工具:

[root@localhost ~]# rpm -qa|grep nmap      //查看nmap
 [root@localhost ~]# yum install -y nmap    //安装nmap

使用格式:

nmap    [扫描类型]    [选项]      <扫描目标>

选项作用
-p指定扫描的端口。
-n禁用反向DNS解析(以加快扫描速度)
-sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sUUDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较
-sPICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。

 

总结

1. 用户账号的锁定和解锁。通过创建/etc/nologin  文件使普通用户无法登录

2.通过修改/etc/profile  文件来限制命令条数,以及用户退出时间

3.su命令的切换与sudo  对用户进行提权

4.pam.d /su 建立wheel组,使普通用户无法任意切花

5.namp 查看网络端口具体信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值