补充:重定向

类型                                                              操作符                                                                    用途
重定向输入                                                      <                                                    从指定的文件读取数据,而不是从键盘输入
重定向输出                                                    1>                                                    将输出结果保存到指定的文件(覆盖原有内容)
追加                                                               >>                                                    将输出结果追加到指定的文件尾部
标准错误输出                                                 2>                                                   将错误信息保存到指定的文件(覆盖原有内容)
标准错误输出结果追加到指定的文件尾部     2>>                                                  将错误信息追加到指定的文件中
混合输出                                                       &>                                                    将标准输出、标准错误的内容保存到同一个文件中
实例操作:

1.系统账号清理

1)将非登录用户shell设为/sbin/nologin

2)锁定长期不使用的账号

usermod -L 用户名

passwd -l 用户名

3)解锁用户账号

passwd -u 用户名

usermod -U 用户名

4)删除无用的账号

userdel -r [用户名]

5)锁定账号文件passwd、shadow

锁定:chattr  +i  /etc/passwd  /etc/shadow

解锁:chattr  -i  /etc/passwd  /etc/shadow

查看:lsattr  /etc/passwd /etc/shadow

2.密码安全:

1.修改用户密码

1)echo 密码 | passwd --stdin 用户名

2)passwd 用户名

2.设置密码有效期

1)对新建用户设置:vim  /etc/login.defs

PASS_MAX_DAYS   30

2)chage命令

命令格式:

chage  [选项]  用户名

常用选项                                                                              说明

-d                                                                              指定密码最后修改日期

-E                                                                              密码到期的日期,过了这天,此账号将不可用。0表示马.上过期, -1表示永不过期。

-h                                                                              显示帮助信息并退出

-l                                                                               密码过期后,锁定账号的天数

-i                                                                               列出用户以及密码的有效期

-m                                                                             密码可以更改的最小天数。为零代表任何时候都可以更改密码。

-M                                                                             密码保持有效的最大天数。

-W                                                                           密码过期前,提前收到警告信息的天数。

例子:

对已创建的用户:chage  -M  30  用户名

用户下次登录时修改密码:chage  -d  0  用户名

历史命令限制:

1)减少命令历史数量:

vim /etc/profile(修改配置文件)

HISTSIZE=200(此命令可添加export,即全局有效)

2)自动清空历史命令:history  -c

3)终端自动注销:TMOUT=10(秒)

2、su命令安全

切换用户

su  用户名:切换用户但不更改环境变量

su -  用户名:完整切换

普通用户切换其他用户需要对方密码

root用户切换无需密码

限制用户使用su命令:

启用pam_wheel模块,只允许wheel组用户使用su命令

gpasswd  -a  用户名  wheel  (将用户加入组)

vim  /etc/pam.d/su

#auth  required  pam_wheel.so use_uid (删除#号)

3、sudo:提升权限

命令:sudo  授权命令的绝对路径

需要输入本人密码

sudo配置文件:/etc/sudoers

打开方式:visudo

vim  /etc/sudoers

格式:用户列表  主机名列表=权限列表

例子:用户名  ALL=/usr/sbin/useradd

%组名:代表组    ALL代表所用   *匹配任意

NOPASSWD:命令:无需密码就可执行

列表设置为别名:User_alias(用户)

Host_alias(主机)

Cmnd_alias(命令)

命令格式:用户        主机     =     命令

sudo  -l:查看sudo命令权限

sudo  -k:清除密码缓存,默认缓存5分钟

日志文件:/var/log/sudo

需要defaults  logfile配置

(defaults  logfile=/var/log/sudo)

4、开关机安全

1)调整Bios设置:

禁止从其他设备引导

设置Bios密码

2)禁用Ctrl+Alt+Del重启

vim  /etc/init/control-alt-delete.conf

3)grub菜单限制:

在title前设置密码:禁止更改参数

在title后设置密码:禁止进入系统

密码方式:明文:passwd密码

密文:用grub-md5-crypt生成

vim  /boot/grub/grub.conf

Password  -md5  密码字串

5、终端安全登录:

1)减少开放的终端数:/etc/init/start-ttys.conf

/etc/sysconfig/init

ACTIVE_CONSOLES=/dev/tty[456]

2) 限制root用户使用的终端:/etc/securetty

3) 禁止普通用户登录:建立/etc/nologin文件   touch  /etc/nologin

删除即可恢复登录   rm -f  /etc/nologin

6、系统弱口令检测:Joth  the  Pipper  简称JR

开源软件:支持字典式的暴力破解,支持des和md5的加密破解

命令名为:john

破解命令:./john  --wordist=password.lst  /etc/shadow

--wordist(指定密码文件)

Password.lst(默认字典文件)

破解后密码保存在john.pot文件中,可用./john  --show  /etc/shadow查看

Linux系统安全与应用的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  3. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  4. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  5. Linux 系统中发博客必备的五大图片处理神器

    发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...

  6. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

  7. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  8. 如何重置硬盘遭到“损坏”的Linux系统root用户密码

    传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...

  9. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  10. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

随机推荐

  1. 【ACM程序设计】求最小生成树 Kuskual算法

    Kuskual算法 流程 1 将图G看做一个森林,每个顶点为一棵独立的树 2 将所有的边加入集合S,即一开始S = E( 并查集) 3 从S中拿出一条最短的边(u,v),如果(u,v)不在同一棵树内, ...

  2. 一篇讲清楚String、StringBuffer和StringBuild

    ​ ​ 一.String篇 1.String基本介绍? (jdk文档原文)String类代表字符串. Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例. 说人 ...

  3. Windows Terminal无法加载WSL [process exited with code 4294967295 (0xffffffff)]

    在Windows Terminal中WSL无法打开错误代码是 process exited with code 4294967295 (0xffffffff),但在命令行中 通过 "C:\W ...

  4. 尾递归与 memorize 优化

    尾递归与 memorize 优化 本文写于 2020 年 12 月 10 日 递归 递归是一种非常常见的算法思维,在大家刚开始学编程的时候应该就会接触到. 我们可以这么理解递归: function 讲 ...

  5. Hbase数据库安装部署

    Hbase单机版安装 hbase介绍 HBase – Hadoop Database是一个分布式的.面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文"Bigta ...

  6. 在MySQL中保存Java对象

    需要在MySQL中保存Java对象. 说明: 对象必须实现序列化 MySQL中对应字段设置为blob 将Java对象序列化为byte[] public static byte[] obj2byte(O ...

  7. 好客租房46-react组件进阶目标

    1能够使用props接收数据 2能够使用父子组件之间的通讯 3能够实现兄弟组件之间的通讯 4能够给组件添加props校验 5能够说出生命周期常用的钩子函数 6能够知道高阶组件的作用 组件通讯介绍 组件 ...

  8. Pandas复杂查询、数据类型转换、数据排序

    Pandas高级操作 1.复杂查询 (1)逻辑运算 以DataFrame其中一列进行逻辑计算,会产生一个对应的bool值组成的Series 于是我们可以利用返回的bool列表进行一系列的数据查询 (2 ...

  9. 测试平台系列(94) 前置条件该怎么支持Python呢

    回顾 上一节我们狠狠操练了一番oss,但我们的任务还很长久,所以我们需要继续打磨我们的功能. 那今天就让我们来思考下,如何在前置条件支持python脚本,多的不说,我们也暂时不考虑其他语言,因为光考虑 ...

  10. T1创世纪(原创)

    创世纪 这是我的第一道原创题 题解: 这道题的核心算法是:加维度的最短路+贪心 状态:\(dis[i][j][t][a]\)表示在 \(t\) 时,到达 \((i,j)\) ,当前共造\(a\)只&q ...