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
vim可视化&Linux系统安全最小化原则& su & sudo的更多相关文章
- mysql授权远程用户连接(权限最小化原则)
1.进入MySQL,创建一个新用户root,密码为root: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; gra ...
- 【转载】使用宝塔对Linux系统进行界面化管理操作
腾讯云服务器和阿里云服务器的Centos系统都是没有Linux系统的一个版本,Centos系统的操作都是在没有类似Windows图形化操作界面的黑框框命令窗口进行操作的,需要使用到很多Linux操作命 ...
- linux系统(centos)下su和sudo命令的区别
linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...
- Linux系统安全最小原则
系统安全最小原则 1.安装Linux系统最小化,选包最小化,不用就不安装2.开机服务最小化(5个)ssh network sysstat crontd rsyslog3.操作命令最小化 rm -rf ...
- Linux用户与“最小权限”原则
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 作为一个Linux用户来说,我们并不需要特别关心下面的机制.但是,当我们去编写一个 ...
- Linux 系统中用户切换(su user与 su - user 的区别)
1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...
- Linux系统中切换用户身份su与sudo的用法与实例
日常操作中为了避免一些误操作,更加安全地管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:s ...
- linux系统的初化始配置(包括网络,主机名,关闭firewalld与selinux)
每次我们使用Linux都会对系统进行初始化的配置,下面我们一一列出来. 1.服务的开启 systemctl enable firewalld.service //将指定的服务设置为开机启动 syste ...
- Linux系统——公网定制化yum仓库部署
1)搭建公网源yum仓库 安装wget aliyun源 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel ...
随机推荐
- Python学习笔记:面向对象(类)
1.类定义:Python3中,如果新建的类没有继承任何其他类,默认继承基础类object.Python2中如果没有显式继承object类就是经典类,而显式继承了object类就是新式类,Python2 ...
- Linux学习-编译前的任务:认识核心与取得核心原始码
什么是核心 (Kernel) Kernel 其实核心就是系统上面的一个文件而已, 这个文件包含了驱动主机各项硬 件的侦测程序与驱动模块. 核心文件通常被放置成 /boot/vmlinuz-xxx ,不 ...
- Http协议——基本概念
一.浏览网页的过程 用户输入一个url,浏览器根据url给web服务器发送一个Request,web服务器接收到Request后进行处理,并返回浏览器一个Response,可以响应一个静态页面或者图片 ...
- strcpy和strncpy用法和区别
1. strcpy函数:顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到以 ...
- HDU 1827 强连通 缩点 Summer Holiday
求出强连通分量,因为强连通中只要有一个人被通知到了,所有人都能被通知到. 缩点以后形成一个DAG,找出那些入度为0的点,累加上它们的权值就是答案.一个点的权值等于SCC中权值最小的那个点. #incl ...
- delphi xe7 多线程调用CMD,使用管道,临界区技术,实现指定用户名,多线程,异步返回CMD命令结果到memo
第一次发这个,发现格式很乱,不好看,可以用XE7的project--format project sources命令格式化一下代码. 后面我会上传此次修改函数用的源代码到云盘 链接: http://p ...
- Python 实战一
列表ID的显示 起初ID显示的是数据库中的id,因为数据库中的id是自增长的,所以删除一条后,这里显示就叉开了,这里使用索引的方式来显示. 这个功能实现的逻辑: 第一:定义一个表格的架构,用id=‘i ...
- 修改Typora的快捷键【markdown软件】
修改Typora的快捷键 魔芋:Typora是一款不错的编写markdowm的软件,推荐使用. 魔芋:修改这个文件conf.user.json "keyBinding": { ...
- react技术栈实践(1)
本文来自网易云社区 作者:汪洋 背景 最近开发一个全新AB测试平台,思考了下正好可以使用react技术开发. 实践前技术准备 首先遇到一个概念,redux.这货还真不好理解,大体的理解:Store包含 ...
- Linux删除非空目录的方法
rmdir 无法删除非空目录. rm -rf 可以递归,强制,删除目录