一、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

linux权限最小化分级,vim可视化Linux系统安全最小化原则 su sudo相关推荐

  1. Linux——权限|shell运行原理——外壳程序|Linux权限的概念|对人操作|角色和文件操作|文件类型访问权限|修改权限ugo+-|8进制|修改权限|更改文件的拥有

    目录 shell运行原理--外壳程序 Linux权限的概念 对人操作 角色和文件操作 文件类型

  2. linux权限转数字,–rwxr-xr-x转换成linux权限数字是多少?

    –rwxr-xr-x转换成权限数字为755. 在Linux中r是可读权限,w是可写权限,x是 可执行权限.1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加.所以–rwxr-xr-x可以拆 ...

  3. linux权限可被登录用户读取,Linux 用户及权限详解

    Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...

  4. linux 权限管理 改变groupid,如何在linux下修改组权限

    chmod g+r path/file 加读权限 当前目录 chmod -R g+r path/file 加读权限 当前目录以及子目录 g-r 减读权限 g+w 加写权限 g-w g+x 加执行权限 ...

  5. linux权限管理命令chown,详解Linux系统中管理文件权限的chown和chmod命令

    chown用法:chown [选项]... [所有者][:[组]] 文件... 或:chown [选项]... --reference=参考文件 文件... 更改每个文件的所有者和/或所属组. 当使用 ...

  6. 13. Linux权限管理命令

    Linux基础学习-Linux权限管理命令 第十七节 Linux权限管理命令学习6 重要 17.1权限分类 17.2 ugo权限 17.2.1查看ugo权限 17.2.2.ugo权限字符 17.2.3 ...

  7. linux root权限_深入了解 Linux 权限

    (给Linux爱好者加星标,提升Linux技能) 编译:linux中国-lujun9972,作者:Sandra Henry-Stocker https://linux.cn/article-10947 ...

  8. linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0

    为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...

  9. <Linux> shell运行原理及Linux权限的理解

    文章目录 一.shell 命令及其运行原理 shell外壳 shell运行原理 二.Linux 权限的概念 1.用户分类 2.切换用户 3.用户提权 三.Linux 权限管理 1.文件访问者的分类(人 ...

最新文章

  1. python无法识别vim中文代码
  2. 十四、深入Python条件和循坏
  3. Head First HTML与CSS阅读笔记(二)
  4. java简述什么是标识符_Java概述(标识符、变量、基本数据类型)
  5. redhat6 使用raid5的系统安装
  6. linux下搜狗安装目录,Linux安装搜狗输入法
  7. 计蒜客挑战难题:移除数组中的重复元素
  8. apache+php
  9. (后端)解决code唯一码(java)简便方法
  10. buuct 假如给我三天光明 misc_【习作园地】假如给我三天光明读后感
  11. 容器技术Docker K8s 45 Serverless Kubernetes(ASK)详解-ECI Pod管理
  12. rs485与modbus协议
  13. 用于应用开发的新数据可视化模板
  14. Cortex-A8处理器编程(上)
  15. mysql如何查看事务日记_Mysql事务和Mysql 日志
  16. 66、气体灭火系统的巡查内容
  17. 《皮肤的秘密》 读书笔记
  18. 机器学习:分类模型的评估精确率Presicion和召回率Recall
  19. 我以为我喜欢编程是因为我喜欢你
  20. 时间只属于自己——读《如何使用每一点脑力进行深度工作》

热门文章

  1. php调用python绘图程序_如何在matlab中调用python程序
  2. php http_user_agent 微信浏览器改变为其他浏览器,微信内置浏览器HTTP_USER_AGENT
  3. matlab 功率谱密度 汉宁窗_[振动与测试 2] 什么是PSD(功率谱密度)
  4. linux安装python2环境_Python基础手册 2 —— Python 环境搭建(Linux)
  5. python逆序数怎么求_怎么算逆序数?急~~~!!!
  6. 11g java 驱动_Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号
  7. c语言 %15s,c语言求助
  8. 计算机专业怎样提升竞争力,新形势下如何提高计算机专业学生就业竞争力.doc...
  9. springboot基于mybatis扫描jar包中的controller、service、dao、xml
  10. SSM整合框架实现发送邮件功能