Linux系统安全以及应用
目录
命令历史限制history
终端自动注销
使用sudo机制提升权限
sudo命令的用途及用法
写入格式:
启用sudo操作日志:
实验:
网络端口扫描-NMAP
nmap命令常用选项
系统账号清理
密码安全控制
PAM
命令历史限制history
减少记录的命令条数
注销时自动清空历史命令
source /etc/profile或者 ./etc/profile :刷新
vim ~/.bash_history :历史命令记录存储在.bash_history里
echo " " > .bash_history :清空历史命令记录 .bash_history
history -c :临时删除
环境变量的读取:
用户登录-》加载~/.bash_profile --》bash_profile中的配置首先是使 ~/.bashrc生效
用户登出–》.bash_logout 运行logout配置文件
其中的HISTSIZE表示保留1000条历史命令记录
终端自动注销
首先编写/etc/profile,写入export TMOUT=666,表示666秒不进行操作自动注销,wq退出,然后source /.bash_logout 或者 . /etc/profile 刷新
使用sudo机制提升权限
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
sudo [参数选项] 命令
-l:列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;
-v:验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作
-v:可以跟踪最新的时间戳;
-u:指定以以某个用户执行特定操作
-k删除时间戳,下一个sudo命令要求用求提供密码
visudo或vi /etc/sudoers (此文件的默认权限为440,保存退出时必须执行:"wq!" 命令来强制操作)
写入格式:
用户 主机名=命令程序表
用户 主机名=(用户)命令程序表
用户:直接授权指定的用户名,或采用”组名”的形式(授权一个组的所有用户)。
主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机
(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命
命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径多个命令之间以逗号""进行分隔。ALL则代表系统中的所有命令
例如:
zhangsan ALL=/sbin/ifconfig
lisi localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff #通配符"*"表示所有、取反符号"!"表示排除
wheel ALL=NOPASSWD:ALL
#表示wheel组成员无需验证密码即可使用sudo执行任何命令
Mike ALL=(root)NOPASSWD:/bin/kill,/usr/bin/killall
gpasswd-M lisi wheel##李四加入wheel组
启用sudo操作日志:
启用sudo操作日志
visudo
Defaults logfile="/var/log/sudg"
sudo日志记录以备管理员查看,应在/etc/sudoers文件中增加"Defaults logfile"设置如果已经启用sudo日志,则可以从/var/log/sudo文件中看到用户的sudo操作记录。
注:启用日志:Defaults loqfile=/var/log/sudo
另外一个方法是/var/log/secure日志可查看到sudo操作用户步骤
sudo-l#查看当前用户获得哪些sudo授权
实验:
W用户没有权限创建新用户,切换到root用户,进入visudo,给W用户添加新增用户和群组的权利,然后切换W用户,用sudo命令即可添加新用户
网络端口扫描-NMAP
rpm -qa |grep nmap 查看
nmap yum install -y nmap 安装nmap
nmap命令常用选项
-p:指定扫描的端口。
n:禁用反向DNS解析(以加快扫描速度)
S:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型)用来建立一个TCP连接,如果成功则认为目标端口正在监听服务。否则认为目标端口并未开放。
-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单过。而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU:UDP扫描,探测目标主机提供哪此UDP服务,UDP扫描的速度会比较慢。
-sP:ICMP扫描,类似于pina检测,快速判断目标主机是否存活,不做其他扫描。
-P0:跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping通而放弃扫描。
系统账号清理
将非登录用户的Shell设为/sbin/nologin
锁定长期不使用的账号
删除无用的账号
锁定账号文件passwd、shadow
chattr +i /etc/passwd :锁定文件
lsattr /etc/passwd :查看状态
chattr -i /etc/passwd :解锁文件
密码安全控制
设置密码有效期
要求用户下次登录时修改密码
PASS_MAX_DAYS表示密码有效期
修改用户W密码的最大间隔以及强制用户deno下次登录时更改密码
PAM
通过pam 模块来防止暴力破解ssh
vim /etc/pam.d/sshd
写入auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root_root_unlock_time=1200
代表尝试登录失败超过3次的话,普通用户锁定600秒,root用户锁定1200秒
Linux系统安全以及应用相关推荐
- 【Linux系统】基础总结
我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...
- Linux系统中创建大文件,并作为文件系统使用
在LInux系统的使用过程中,有时候会遇到诸如某个磁盘分区的大小不够用了,导致其下的文件系统不能正常写入数据.亦或者是系统swap分区太小,不够用或者不满足条件而导致的其他一系列问题.如果我们系统上挂 ...
- Linux系统开发之路-中
4.Linux的安装(Windows环境下): 1)Windows环境需要借助虚拟机来安装Linux系统,这个推荐使用的软件是VMWare,官网能下载到的最新版本是Workstation Pro15. ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等
内网的linux系统要安装nodejs以及express等系列的框架,因为系统是局域网和互联网是物理隔离的,所以,没法像官网的安装教程那样直接install了,只能手动安装,这里已经我们自己的linu ...
- linux源码安装浏览器,Linux系统手动安装Firefox浏览器
大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如: Debian/Ubuntu: sudo apt-get install firefox Fedora: s ...
- 计划任务执行php文件,linux系统下添加计划任务执行php文件方法
在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务. 方法/步骤 1.打开linux系统命令行界面. 在命令行界面中输入如下命令: ...
- .tar.gz mysql 安装_mysql tar.gz 版本 linux系统的安装-Go语言中文社区
mysql下载地址: https://dev.mysql.com/downloads/mysql/ 1. 上传下载的tar.gz文件发送到linux 上传的路径: /usr/local/mysql/ ...
- qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...
- 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
最新文章
- java线程wait_java多线程学习(四) 之 wait和notify
- R语言stringr包str_ends函数、str_starts函数起始、结束字符串判断实战
- [视频教程] docker端口映射与目录共享运行PHP
- 用sniffer技术盗取电话银行密码
- 一款非常简约好看的白色网格个人引导页HTML源码
- JAVA-初步认识-第六章-类与对象的关系(细节)
- IDA远程调试Android中so文件
- 一文弄懂LogSumExp技巧
- css 使用本地字体
- vue3使用clodop 云打印
- 苹果手机怎么投屏王者荣耀
- 电脑重置,win10怎么重置此电脑 重置电脑的方法和后果
- MATLAB数字图像示例题目
- 统计数字问题Python
- VS 点击页面自动定位到解决方案资源管理器目录位置
- delphi创建excel写入数据并创建二维折线图
- 隐马尔科夫(HMM)模型
- 召唤出DirectX诊断工具
- Pygame 官方文档 - Tutorials - 逐行的黑猩猩教程(Line By Line Chimp)
- genl_ops结构分析
热门文章
- Variant类型在各语言中的参数传递
- uni-app升级思路(前端角度)
- 后缀名为jnlp的文件的打开方式
- java 实体字段校验@Valid - @NotNull @NotEmpty @NotBlank - ValidExceptionHandler
- 用mysql查询所以同学学号_mysql数据库练习查询41题答案
- 香农采样定理和奈奎斯特采样定理
- u大侠pe系统桌面计算机,如何使用U大侠PE系统修复引导文件
- Codeforces Round #571 (Div. 2)
- oracle假如存在才删除该字段,Oracle删除表、字段之前判断表、字段是否存在
- matlab小波分析信号消除噪声函数,小波分析的语音信号噪声消除方法