• 系统安全及应用


    十一、系统安全及应用

    一、chsh命令

    chsh命令可直接对登录的用户进行修改

    chsh yunjisuan显示用户的登录情况

    后面写/sbin/nologin 用户状态被改变,改成不能登录

    将非登录用户的shell设为/sbin/nologin的四种方法:

    方法一:usermod -s

    方法二: chsh命令,交互式修改,用来修改用户登录情况

    方法三: chsh -s

    方法四:vim /etc/passwd

     

    二、锁定账号和解锁:

    方法一:passwd -l 用户名  密文前会出现2个! 解锁passwd -u 查看passwd –S

    方法二:usermod -L 用户名  密文前会出现1个!解锁usermod -U

     

    三、删除账号及其目录:

    userdel -r 用户名

     

    ===========================================================

    四、I锁锁定账号:

    工作中用的事例:

     

    查看I锁定lsattr  test

    加锁:chattr +i test  解锁:chattr –i  test(超级用户)

    i锁不允许修改文件,只能读。

    i锁主要用在passwd文件上,不让创建用户

    工作中用i锁保证安全

    五、A锁锁定

    chattr  +a  test

    A锁只能追加内容不能修改 不能VIM

    也是用在passwd文件上,只能创建用户不能修改用户

    六、密码安全控制:

    1、设置密码有效期

    修改某个已存在用户的密码有效期:

    chage -M 天数 用户名

    passwd -x 天数 用户名

    2、设置今后添加用户时的默认密码有效期:

    方法一:

    vim编辑/etc/login.defs文件,修改PASS_MAX_DAY”后面的数值

     

     

    方法二:

    vim编辑/etc/shadow文件,修改第五部分

    3、要求用户下次登录时修改密码

    方法:chage -d 0 用户名

     

       =======================================================

    七、history查看历史命令

    history  -c清空历史命令(为了安全)

    1、减少历史的命令条数

    方法一:

    vim编辑/etc/profile文件(系统全局变量文件,所有和变量相关的命令都放在这个文件中),修改HISTSIZE=”后面的数值

     

    方法二:

     export HISTSIZE=数值(仅当前环境用户下生效)

    2、注销时自动清空历史命令

    方法:vim编辑宿主目录下的“.bash_logout”文件,添加“history -c

    3、终端自动注销

    方法一:vim编辑/etc/profile文件,添加“TMOUT=数值”

    方法二: export TMOUT=数值(仅当前环境用户下生效)

    八、更改端口号

    /etc/ssh/目录下

    # vim sshd_config

    port 22处更改端口号(工作中一般将端口号设置为一万以上)

     

    不允许root用户远程登录

    九、环境变量配置文件位置

    /etc/profile

    系统全局变量文件,所有和变量相关的我们都应该放在这里(一旦在这里面修改文件,所有登录用户都受影响,因为是全局的)

    =========================================================

    TMOUT=600 当手离开键盘,没有任何输入的时候,Linux默认退出登录

    ==========================================================

    十、su命令

    1、概述

    工作中禁止超级用户远程登录,vim /etc/ssh/sshd_config文件中设置端口号(工作中端口号设置一万以上),禁止登录远程登录root,超级用户只能切换使用。

    su+用户名切换用户

    超级用户切换普通用户不需要密码,普通用户切换超级用户需要

    2su命令用法

    su 【选项参数】【用户】 

    su  -  用户名   系统环境变量会重置成指定用户的

    su  -  用户名  -c  cmd  :

    临时切换用户一次,执行命令一次,然后把结果显示回来,仍旧是当前用户。

    su -m 切换用户时,不重置用户环境

    su -s /etc/shell允许,则运行指定的shell

    su命令常用在/etc/rc.local

    vim  /etc/rc.local

    su  - 用户 -c 命令  实现以普通用户实现进程,安全操作,表示仅限在xx用户下启动的服务命令脚本

    3、查看su操作记录

    安全日志文件:/var/log/secure

    # tar /var/log/secure|less

    4su命令的缺点

    su命令的缺点:在使用su命令时,不指定用户名默认切换至root用户,需要经常输root用户密码,但实际生产中root密码是不可以被广泛告知的。如果需要执行root用户才有权限的命令,需要通过sudo命令或wheel组的设置来实现。

    exit退出用户

    ********************************************************

    一般大企业核心进程都是用普通用户启动,为了安全

    ===========================================================

    十一、sudo命令

    配置文件:  ll /etc/sudoers

    1、输入visudo命令用来修改sudo配置文件

     

    去配置文件给普通用户授权

     

    第一个ALL代表IP(限制IP) 第二个代表主机名(工作中一般不用,直接等号后面不输入即可)  第三个ALL代表限制命令,在第三个ALL上授权的命令必须要==>(绝对路径)

     

    visudo  -c    检查sudo配置文件是否有错误

     

     

    2sudo  -l 普通用户用来查看自己的sudo权限

    这时候普通用户有sudo命令权限,使用超权限命令时,命令前加sudo

    Eg:sudo ls /root

    最后一个ALL 是限制命令的意思:

     

    给普通用户yunjisuan开通fdisk命令

    ===========================================================

    3、授权多个命令及安全用法

    命令之间加逗号

    ===========================================================

    授权许多命令:授权/sbin下的所有命令,唯独不让使用reboot

     

     

    允许用户分区,但是禁止破坏系统

     

    对普通用户授权:只看日志

     

    !!!但是“看”的命令不仅仅是cat,还有morelessheadtailtacsedawk等,需要将它们全部授权(绝对路径)。

    开发不一定会哪个看,所以要把所有的“看”全部授权

    4、使用命令直接修改sudo

    1)直接修改/etc/sudoers(不推荐)

     

    上面的方法需要的注意事项

     

    2)使用用户组的方式实现sudo授权

     

     

    (3)别名用法

     

    十二、开关机安全控制

    调整BIOS引导设置

     

    禁用重启热键Ctrl+ALT+Del

     

    # init q 不重启,即时生效配置文件

    Grub菜单限制

     

     

    密码设置方式

    将明文密码设为密文

    grub-md5-crypt命令获取加密密码串

     

    将加密密码串复制进/etc/grub.conf文件

    终端登录安全控制

    减少开放终端个数

    vim编辑两个配置文件:/etc/init/start-ttys.conf/etc/sysconfig/init

     

     

     

    限制root只在安全终端登录

    vim编辑/etc/securetty配置文件,将禁止的终端注解掉(在注解的终端前加#号)

    禁止普通用户登录

    touch /etc/nologin,删除/etc/nologin 这个空文件即可恢复(rm -f /etc/nologin)。

    NMAP端口检测

     

    Nmap -sS  TCP同步扫描(TCP SYN

    -sT  TCP连接扫描

    -sn  不进行端口扫描,只检查主机正在运行

    -sU  扫描UDP端口

    -sV  探测服务版本信息

    -Pn  只进行扫描,不ping主机

    -PS  使用SYN包对目标主机进行扫描,默认是80端口,也可以指定端口,格式为-PS22-PS22-25,80,113,1050,35000,记住PS和端口号之间不要有空格

    -PU  使用UDP ping扫描端口

    -O  激活对TCP/IP指纹特征的扫描,获得远程主机的标志,也就是操作系统类型

    -v  显示扫描过程中的详细信息

    -S  设置扫描的源IP地址

    -g part  设置扫描的源端口

    -oN  把扫描的结果重定向到文件中

  • 相关阅读:
    RedisTemplate的rightpushAll()时的坑
    Redis操作HyperLogLog
    Redis做消息队列使用
    UML
    设计模式概述
    HTTP/HTTPS/TCP/IP协议
    SpringBoot特点
    虚拟机+kafka基础配置
    Spring学习
    SpringBoot配置文件
  • 原文地址:https://www.cnblogs.com/kakajiang/p/9871738.html
Copyright © 2020-2023  润新知