一、基本安全措施

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 ——系统安全及应用的更多相关文章

  1. 虚拟机vmware10.0.0里设置Suse Linux Enterprise 11系统静态IP上网

    http://blog.csdn.net/usbdrivers/article/details/50035615 首次在虚拟机里安装Suse Linux Enterprise 11,采用NET方式能够 ...

  2. Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式

    本篇是Linux小白最佳实践第5篇,目的就是让白菜们了解Linux进程之间是如何对话的.之前连载的几篇,在微信上引起了很多的反响,有人也反映图多文字少,感觉没有干货.本篇选了大部分是实战讲解的&quo ...

  3. 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd

    浅析 Linux 初始化 init 系统,第 1 部分: sysvinit  第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...

  4. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

  5. 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置

    本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...

  6. 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux

    本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...

  7. Linux系统管理和维护常用命令

    Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...

  8. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  9. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

随机推荐

  1. C#超简单自定义事件

    我知道你为啥点进来,所以不要犹豫了,立刻马上果断创建控制台项目,直接复制下面精干短小而又强大的代码运行: using System; using System.Collections.Generic; ...

  2. SpringMVC用到的jar包

    SpringMVC用到的jar包 自己搭建一个SpringMVC框架时需要用到相应的jar包,参考下载网址: http://repo.spring.io/release/org/springframe ...

  3. ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export

    1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...

  4. Node.js_express_route 路由

    route 路由   (kiss my ass ヾ(゚∀゚ゞ) 请求方式        get / post /  put / delete____查 / 增 / 改 / 删 路由路径         ...

  5. 如何使用iOS开发者授权以及如何申请证书

    如何使用iOS开发者授权以及如何申请证书 在邮件里有一个Login按钮,点击后可以进入Apple Developer会员中心.点击图中的iOS Provisioning Portal,进入开发者授权设 ...

  6. PHP算法学习(2) 轮训加权算法

    2019年1月8日16:10:51 svn地址:svn://gitee.com/zxadmin/live_z    代码在code里面 <?php /* * 加权轮训算法 * * * $arr ...

  7. Python 学习笔记8 循环语句 while

    While循环是哟中利用条件语句,不断的执行某一段代码块,达到批量操作输出等一系列的操作,直到条件不满足或者被强制退出为止. 其工作流程如下: (图片来源菜鸟教程:http://www.runoob. ...

  8. ECC椭圆曲线以及计算出公钥的过程(BTC为例)

    ECC概念 全称 “ Ellipse Curve Cryptography ”  means “ 椭圆 曲线 密码学 ”. 传统加密方法大多基于大质数因子分解困难性来实现,ECC则是通过椭圆曲线方程式 ...

  9. 遍历其 interator

    当用户自定义数据结构的时候, 如果做遍历呢, 这个时候就需要遍历器 interator 了, 它允许用户定义遍历自己自定义数据结构的方式 当用户定义了iterator, 就可以使用 for of 来遍 ...

  10. git温习

    git init:将文件变成git仓库 ls -ah:查看隐藏目录 git add 文件1  文件2 ...:将文件添加到缓存区 git commit -m ‘提交说明’:提交到本地仓库一次  并说明 ...