Linux系统安全与应用
补充:重定向
类型 操作符 用途
重定向输入 < 从指定的文件读取数据,而不是从键盘输入
重定向输出 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系统安全与应用的更多相关文章
- 在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux系统中的Device Mapper学习
在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...
- 玩转 Linux 系统的方法论
Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...
- Linux 系统中发博客必备的五大图片处理神器
发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- 如何重置硬盘遭到“损坏”的Linux系统root用户密码
传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- 如何配置Linux系统的网络IP地址
一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...
随机推荐
- HashMap中红黑树插入节点的调整过程
如果有对红黑树的定义及调整过程有过研究,其实很容易理解HashMap中的红黑树插入节点的调整过程. "红黑树定义及调整过程"的参考文章:<红黑树原理.查找效率.插入及变化规则 ...
- python使用虚拟环境venv
venv模块支持使用自己的站点目录创建轻量级"虚拟环境",可选择与系统站点目录隔离.每个虚拟环境都有自己的Python二进制文件(与用于创建此环境的二进制文件的版本相匹配),并且可 ...
- 关于transform属性的一些理解
3D transform transform进行动画演示时,是以元素的中心为基准点的,可以使用transform-origin改变元素转变的基准点. 所有的transform动作改变都会引起X.Y轴的 ...
- DOM操作标签、事件绑定、jQuery框架/类库
DOM操作标签 ''' 在起变量名的时候 如果该变量指向的是一个标签 那么建议使用 xxxEle eg:aEle\pEle\divEle\spanEle ''' # 动态创建一个a标签并添加到页面指定 ...
- redis & redis sentinel
Redis 命令参考 Redis Sentinel Cheat Sheet Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件) Redis哨兵模式(sentinel)学习总结及部署 ...
- 【算法】计数排序(Counting Sort)(八)
计数排序(Counting Sort) 计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中. 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范 ...
- MySQL执行计划explain
一.简介 分析查询慢的原因,在查询语句前加explain即可.如: 二.输出格式 2.0 测试数据 # 表user_info CREATE TABLE `user_info` ( `id` bigin ...
- Redis 中的原子操作(1)-Redis 中命令的原子性
Redis 如何应对并发访问 Redis 中处理并发的方案 原子性 Redis 的编程模型 Unix 中的 I/O 模型 thread-based architecture(基于线程的架构) even ...
- AI趋势量化系统(Binance升级版)
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. B圈大跌行情,如何应对? 近期,伴随着美联储持续的加息进程,数字货币市场不论是市场焦点LUNA,还是BT ...
- C#语言中的类型转换方法(unfinished)
一.C#中的数据类型 1.数值类型 2.字符类型 3.字符串类型 4.布尔类型 5.枚举类型 6.Object类型 二.常见的类型转换 从转换方式的角度,类型转换分为隐式转换与显式转换两种. 其中,隐 ...