zoukankan      html  css  js  c++  java
  • vim可视化&Linux系统安全最小化原则& su & sudo

    一、vim在可视化模式下编辑

    crl+v,会变成-- VISUAL BLOCK --,然后用上下左右键去选中.

    多行注释:
    ESC进入命令行模式;
    Ctrl+v进入VISUAL BLOCK模式
    上下左右键调整需要注释多少行;
    Shift+i即大写I或s进入插入模式,输入注释的符号,比如#;
    再按两下ESC键,这时就可完成多行注释,
    
    命令行模式下,输入:首行号,尾行号s/^/字符/g,实现批量插入字符.如:2,7s/^/#/g.
    
    1.d命令可以删除高亮显示的文本,而D命令则会删除一行,
    即使这一行中只有部分文本是高亮显示的;
    2.y命令将复制高亮显示的文本,而Y命令会复制整行;
    3.c命令可以将高亮显示的文本删除并进入编辑模式,
    而C命令会删除一行文本并进入编辑状态;
    4.针对高亮显示的文本块,我们可以用命令~进行大小写转换;
    5.用命令>增加缩进,或用命令<减少缩进.
    

    二、Linux系统安全最小化原则:

    1.安装系统最小化,即选包最小化,没用的包不装;
    2.开机自启动服务最小化,即没用的服务不启动;
    3.操作命令最小化,例如:能用"rm -f hehe.txt",就不用"rm -rf hehe.txt";
    4.登录用户最小化,一般不登录Root,用普通用户登录;
    5.普通用户授权权限最小化,只给他需要的命令;
    6.系统文件及目录的权限设置最小化,禁止随意更改、创建、删除文件.
    

    三、服务器日志审计项目提出与实施:

    1.权限方案实施后,权限得到了细化控制,接下来进一步实施对所有用户日志记录方案;
    2.通过sudo和rsync配合实现对所有用户进行日志审计并将记录集中管理;
    3.实施后让所有运维和开发的所有执行的sudo管理命令都有记录可查,杜绝内部操作隐患.
    增加配置 "Defaults logfile=/var/log/sudo.log"到/etc/sudoers
    

    四、su

    1.su user(这样写让别人看见了,会感觉你是个新手)

    切换到user用户下,但仍然使用前用户的环境变量,称为半切换
    [root@www ~]# su stu01
    [stu01@www root]$ env | grep root
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    MAIL=/var/spool/mail/root
    PWD=/root
    [stu01@www root]$ pwd
    /root
    

    2.su - user

    切换到user用户下,且使用user1的环境变量,
    具体的说就是 .bash_profile和.bash_rc,称之为全切换
    [root@www ~]# su - stu01
    [stu01@www ~]$ pwd
    /home/stu01
    

    3.切换用户身份

    "-"是加载环境变量,-c以"指定用户"执行任务
    # tail -5 /etc/rc.local
    su - tddoc -c '/bin/sh /home/tddoc/bin/hehe.sh'
    

    五、sudo

    1.用途

    a.对用户的执行命令权限进行限制;
    b.提供了日志记录,可详细记录每个用户具体的操作;
    c.临时性的时间戳(一般为5min),在此期间使用sudo命令,不需要再输入密码;
    d.配置文件为/etc/sudoers,可以使root对用户集中管理
    

    2.工作原理

    a.当用户执行sudo时,系统寻找/etc/sudoers文件,判断该用户是否具备执行sudo的权限;
    b.确认用户权限后,让用户输入自身的密码;
    c.若密码合法,则开始执行sudo后续的命令;
    d.root执行sudo时不需要输入密码,自身切换自身也不需要输入密码.
    

    3.常用参数

    # visudo -c  检查/etc/sudoers的语法
    /etc/sudoers: parsed OK
    $ sudo -l  列出目前用户可执行与无法执行的指令
    $ sudo -k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码
    $ sudo -v  延长密码有效期限5分钟
    $ sudo -V  显示版本信息
    

    4.配置

    root    ALL=(ALL)       ALL

    用户名   主机IP   可切换的身份   可执行的命令

    NOPASSWD: ALL--当使用sudo时,不需要输入密码,ALL代表可以执行任何命令

    5.例子

    #用户别名分类:
    User_Alias KAIFA_ADMINS = kaifa01, kaifa02
    User_Alias YUNWEI_ADMINS = oldboy, oldgirl
    User_Alias OLD_NETADMINS = leo, maya
    #命令分类别名:
    Cmnd-Alias USERCMD = /usr/sbin/useradd, /usr/sbin/userdel, 
    /usr/bin/passwd [A-Za-z]*, /bin/chown
    Cmnd-Alias DISKCMD = /sbin/fdisk
    Cmnd-Alias KAIFACMD = /bin/grep, /bin/cat
    #角色
    Runas_Alias OP1 = root, oldboy
    Runas_Alias OP2 = root, oldgirl
    #授权
    KAIFA_ADMINS ALL=(OP1) KAIFACMD
    YUNWEI_ADMINS ALL=(OP1) USERCMD DISKCMD
    

    企业案例可以参考:https://blog.csdn.net/xiegh2014/article/details/52634030

    6.排错

    parse error in /etc/sudoers near line 127
    是因为书写出现错误(少了一个逗号)
    YUNWEI_ADMINS   ALL = (OP1)     NOPASSWD:USERCMD DISKCMD
    正确写法
    YUNWEI_ADMINS   ALL = (OP1)     NOPASSWD:USERCMD, DISKCMD
    
  • 相关阅读:
    二十三种设计模式 python实现
    python logging的输出
    redis
    Django1.11序列化与反序列化
    Django1.11基础视图
    Django1.11模型类数据库操作
    Django1.11创建
    泛型全面分析和应用(二)
    泛型全面分析和应用(一)
    注解的基本盘点 -- 《Java编程思想》
  • 原文地址:https://www.cnblogs.com/fawaikuangtu123/p/9876727.html
Copyright © 2011-2022 走看看