linux 系统管理11 ——系统安全及应用
一、基本安全措施
1、系统账号清理
(1)、将非登陆用户的shell设为/sbin/nologin
方法一、usermod -s
方法二、chsh命令,交互式修改
方法三、chsh -s
usermod(修改用户) userdel(删除用户) useradd(创建用户)
可用命令 tail -10 /etc/passwd
2、锁定长期不使用的账号
方法一;passwd -l (将在密文前增加2个“!”) 解锁 passwd -u 查看passwd -s
方法二、usermod -L{将在密文前增加一个“!")解锁usermod -U
若用passwd -l +用户 锁定用usermod -u 解锁必须输入2次命令usermod -U
3、删除无用的账号 userdel{r}
4、锁定账号文件
/etc/passwd /etc/shadow
1>锁定;chattr +/etc/passwd +/etc/shadow
2>解锁;chattr -i /etc/passwd -i /etc/shadow
3>查看;lsattr /etc/passwd /etc/shadow
例;

2、密码安全控制
(1)设置密码有效期
1>修改某个已存在用户的密码有效期
chage -M 天数 用户名
passwd -x 天数 用户名

2>设置今后添加用户时的默认密码有效期
方法一;VI编辑/etc/login.defs文件,修改“pass_MAX_DAN"后面的数值
咧;
vi /etc/login.defs

将99999天改为60天 然后用 useradd wang(创建一个用户) grep wang /etc/shadow (过滤查看)
(2)要求用户下次登陆时修改密码
1>方法:chage -d o 用户名
3、命令历史限制
(1)减少历史的命令条数
1>方法一;vi编辑/ect/profile文件,修改”HISTSIZE="后面的数值
2>方法二;export HISTSIZE=数值
如;方法一;vi 编辑/etc/profile文件,修改“HISTSIZE=100"

把1000改为100
source /etc/profile 使/etc/profile配置文件生效,此时全局生效
方法二;export HISTSIZE=100 仅当前用户环境生效
export 全局生效 /etc/profile 全局变量
export HISTSIZE=100
(2)注销时自动清空历史命令
1>方法;vi编辑宿主目录下的”.bash_logout"文件,添加“history-c"
2>示例;设置amber用户注销时自动清空历史命令
vi ~amber/.bash_logout
4、终端自动注销
(1)方法一;VI编辑/etc/profile 文件,添加”TMOUT=数值“
(2)方法二;export TMOUT=数值
(3)示列;闲置600秒后自动注销
方法一;VI编辑/etc/profile文件,添加”TMOUT=600"
vi /etc/profile

方法二;export TMOUT=600
export TMOUT=600 仅当前用户环境生效
二、切换用户
1、作用;切换用户(Substitute User)
2、su[-]目标用户 (有“-”初始化环境变量,无“-”环境变量不改变)

3、查看SU操作记录
安全日志文件;/var/log/secure
tac /var/log/secure|less

三、提升权限 Sudo 命令
1、SU命令的缺点;
在使用SU命令时,不指定用户名以默认切换至root用户,需要输入root密码,但实际生产中root密码是不可以被广泛告知的。如果需要执行root用户才有权限的命令,需要通过sudo命令或wheel组的设置来实现。
2、sudo命令
(1)作用;以其他用户身份(默认root身份)执行授权的命令
(2)用法;
sudo授权命令
默认设置为首次执行时,需输入当前用户的登陆密码,5分钟内再次执行sudo命令时则无需再次输入密码
(3)配置sudo授权
1>方法一;添加单个用户的sudo授权
visudo或者vi /etc/sudoers(效果相同),添加配置内容
格式;用户 主机名列表=命令出现列表,命令前加“!”表示“除了”此命令
2>方法二;批量授权 wheel组
HOST Aliase主机名(下图)
User Aliases用户名
Command Aliases命令别名


根据示列以及实际需求,设置别名。(建议先复制,再粘贴修改)
设置别名后,添加格式;
用户别名 主机别名=命令别名(所有别名均大写)
(4)查看sudo操作记录
第一步;visudo或者vi /etc/sudoers添加“Defaults logfile=/var/log/sudo"
第二步;cat/var/log/sudo
示列;启用Defaults logfile 配置,给xiao用户所有/sbin/以及/usr/sbin/下的命令执行权限,除了关机以及重启。
visudo

sudo userdel -r xiao5 grep xiao5 /etc/passwd sudo init 0
对不起,用户 xiao 无权以 root的身份在www.xiao.com上执行/sbin/init 0.
tac /var/log/sudo
5、查询授权操作 sudo -l 用户xiao 可以在该主机上运行以下命令
(root)/sbin/*,(root) /usr/sbin/*,(root) ! /sbin/reboot, (root) !/sbin/init,(root), (root) !/sbin/poweroff, (root) !/sbin/shutdown
linux 系统管理11 ——系统安全及应用的更多相关文章
- 虚拟机vmware10.0.0里设置Suse Linux Enterprise 11系统静态IP上网
http://blog.csdn.net/usbdrivers/article/details/50035615 首次在虚拟机里安装Suse Linux Enterprise 11,采用NET方式能够 ...
- Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式
本篇是Linux小白最佳实践第5篇,目的就是让白菜们了解Linux进程之间是如何对话的.之前连载的几篇,在微信上引起了很多的反响,有人也反映图多文字少,感觉没有干货.本篇选了大部分是实战讲解的&quo ...
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd
浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...
- 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP
使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...
- 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置
本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...
- 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux
本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...
- Linux系统管理和维护常用命令
Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...
- Linux系统管理常用命令
Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...
- linux 系统管理--进程管理
目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...
随机推荐
- C#超简单自定义事件
我知道你为啥点进来,所以不要犹豫了,立刻马上果断创建控制台项目,直接复制下面精干短小而又强大的代码运行: using System; using System.Collections.Generic; ...
- SpringMVC用到的jar包
SpringMVC用到的jar包 自己搭建一个SpringMVC框架时需要用到相应的jar包,参考下载网址: http://repo.spring.io/release/org/springframe ...
- ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export
1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...
- Node.js_express_route 路由
route 路由 (kiss my ass ヾ(゚∀゚ゞ) 请求方式 get / post / put / delete____查 / 增 / 改 / 删 路由路径 ...
- 如何使用iOS开发者授权以及如何申请证书
如何使用iOS开发者授权以及如何申请证书 在邮件里有一个Login按钮,点击后可以进入Apple Developer会员中心.点击图中的iOS Provisioning Portal,进入开发者授权设 ...
- PHP算法学习(2) 轮训加权算法
2019年1月8日16:10:51 svn地址:svn://gitee.com/zxadmin/live_z 代码在code里面 <?php /* * 加权轮训算法 * * * $arr ...
- Python 学习笔记8 循环语句 while
While循环是哟中利用条件语句,不断的执行某一段代码块,达到批量操作输出等一系列的操作,直到条件不满足或者被强制退出为止. 其工作流程如下: (图片来源菜鸟教程:http://www.runoob. ...
- ECC椭圆曲线以及计算出公钥的过程(BTC为例)
ECC概念 全称 “ Ellipse Curve Cryptography ” means “ 椭圆 曲线 密码学 ”. 传统加密方法大多基于大质数因子分解困难性来实现,ECC则是通过椭圆曲线方程式 ...
- 遍历其 interator
当用户自定义数据结构的时候, 如果做遍历呢, 这个时候就需要遍历器 interator 了, 它允许用户定义遍历自己自定义数据结构的方式 当用户定义了iterator, 就可以使用 for of 来遍 ...
- git温习
git init:将文件变成git仓库 ls -ah:查看隐藏目录 git add 文件1 文件2 ...:将文件添加到缓存区 git commit -m ‘提交说明’:提交到本地仓库一次 并说明 ...