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 系 ...
随机推荐
- python 用xlwt包把数据导出到excel表中
def write_excel(): f = xlwt.Workbook() #创建工作簿 ''' 创建第一个sheet: sheet1 ''' sheet1 = f.add_sheet(u'shee ...
- ef core的外键约束笔记
ef core设置可选外键,有如下几种方式:1.在依赖实体AAA中,并不显式设置外键属性XXXId 2.手动设置外键属性XXXId为可空类型(int?等类型) 3.在实体类与数据表进行映射时,配置狭隘 ...
- Windows Vue 安装
https://nodejs.org/dist/v6.9.5/node-v6.9.5-x64.msi 新建文件夹 node_global新建文件夹 node_cachenpm config set p ...
- Django——发送邮件
Django--发送邮件 在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现. Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统. 以下是一个简单实例: se ...
- 2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)
A. Airport Coffee 设$f_i$表示考虑前$i$个咖啡厅,且在$i$处买咖啡的最小时间,通过单调队列优化转移. 时间复杂度$O(n)$. #include<cstdio> ...
- MyBatis入门(二)接口式编程
在 MyBatis入门(一) 的基础之上编写接口 将接口和Mapper文件进行绑定,会为接口创建一个代理对象,代理对象去执行增删改查 (1)编写接口 public interface EmpDao ...
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) Java 并发编程 ...
- K个排序链表的合并(Hard)
问题来源:选自leetCode 23:合并K个排序链表 问题描述: 题目给定信息: 不确定需要合并的链表的数目,但依然要求我们把给定的这些有序链表合并成一个链表,并且保证合并的链表依然是有序的. 问题 ...
- Windows系统JDK安装配置
JDK和JRE的安装 打开java的官方网站,下载安装程序,版本根据自己情况选择: 双击安装程序: 点击"下一步": 此处推荐默认路径安装,如果自定义安装目录,则需记住自定义的安装 ...
- 构建Dubbo-2.0.7源码
一. 下载源码: git clone --branch dubbo-2.0.7 https://github.com/apache/incubator-dubbo.git 二. 下载依赖 git cl ...