centos auditd(centos7卸载软件命令)
老铁们,大家好,相信还有很多朋友对于centos auditd和centos7卸载软件命令的相关问题不太懂,没关系,今天就由我来为大家分享分享centos auditd以及centos7卸载软件命令的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
centos服务器不断往外发UDP包和接收UDP包,怎么解决
那就试试看用auditd来记录一下UDP调用能不能有啥收获
当程序通过网络发送数据时会用 socket(PF_INET, SOCK_DGRAM, X)这个系统调用,PF_INET的值是2,
如果是TCP那么为SOCK_STREAM,值是1;如果是UDP那么为SOCK_DGRAM,值是 2。
那么可以添加一条audit规则
复制内容到剪贴板
代码:
auditctl-a exit,always-F arch=b64-F a0=2-F a1=2-S socket-k SOCKETUDP
然后用
复制内容到剪贴板
代码:
ausearch-i-ts today-k SOCKETUDP
一般就可以看到是那个进程在发送UDP包了。
查完,删除规则就把-a换成-d。
systemctl命令找不到(linux中systemctl详细理解及常用命令)
一、systemctl理解
Linux服务管理两种方式service和systemctl
systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。
systemd对应的进程管理命令是systemctl
1. systemctl命令兼容了service
即systemctl也会去/etc/init.d目录下,查看,执行相关程序
2. systemctl命令管理systemd的资源Unit
systemd的Unit放在目录/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)
主要有四种类型文件.mount,service,target,wants
.mount文件
.mount文件定义了一个挂载点,[Mount]节点里配置了What,Where,Type三个数据项
等同于以下命令:
mount-t hugetlbfs/dev/hugepages hugetlbfs
.service文件
.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节
[Unit]
Description:描述。
After:在network.target,auditd.service启动后才启动
ConditionPathExists:执行条件
[Service]
EnvironmentFile:变量所在文件
ExecStart:执行启动脚本
Restart: fail时重启
[Install]
Alias:服务别名
WangtedBy:多用户模式下需要的
.target文件
.target定义了一些基础的组件,供.service文件调用
.wants文件
.wants文件定义了要执行的文件集合,每次执行,wants文件夹里面的文件都会执行
二、常用命令
1.查看版本号
systemctl–-version
2.管理服务(unit)
systemctl提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command主要有:
start:立刻启动后面接的 unit。
stop:立刻关闭后面接的 unit。
restart:立刻关闭后启动后面接的 unit,亦即执行 stop再 start的意思。
reload:不关闭 unit的情况下,重新载入配置文件,让设置生效。
enable:设置下次开机时,后面接的 unit会被启动。
disable:设置下次开机时,后面接的 unit不会被启动。
status:目前后面接的这个 unit的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill:不要被 kill这个名字吓着了,它其实是向运行 unit的进程发送信号。
show:列出 unit的配置。
mask:注销 unit,注销后你就无法启动这个 unit了。
unmask:取消对 unit的注销。
我们先通过 etcd.service来观察服务类型 unit的基本信息:
输出内容的第一行是对 unit的基本描述。
第二行中的 Loaded描述操作系统启动时会不会启动这个服务,enabled表示开机时启动,disabled表示开机时不启动。而启动该服务的配置文件路径为:/lib/systemd/system/etcd.service。
第三行中的 Active描述服务当前的状态,active(running)表示服务正在运行中。如果是 inactive(dead)则表示服务当前没有运行。后面则是服务的启动时间。
第四行的 Docs提供了在线文档的地址。
下面的 Main PID表示进程的 ID,接下来是任务的数量,占用的内存和 CPU资源。
再下面的 Cgroup描述的是 cgrpup相关的信息,笔者会在后续的文章中详细的介绍。
最后是输出的日志信息。
关于 unit的启动状态,除了 enable和 disable之外还有:
static:这个 unit不可以自己启动,不过可能会被其它的 enabled的服务来唤醒。
mask:这个 unit无论如何都无法被启动!因为已经被强制注销。可通过 systemctl unmask改回原来的状态。
关于 unit的运行状态 Active,除了 active和 inactive之外还有:
active(exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。举例来说,开机或者是挂载时才会进行一次的 quotaon功能,就是这种模式! Quotaon不需要一直执行,只在执行一次之后,就交给文件系统去自行处理。通常用 bash shell写的小型服务,大多是属于这种类型。
active(waiting):正在执行当中,不过还再等待其他的事件才能继续处理。举例来说,打印的相关服务就是这种状态。
enable和 disable操作
比如我们为 etcd服务创建了配置文件/lib/systemd/system/etcd.service,然后执行 enable命令:
systemctl enable etcd.service
所谓的 enable就是在 multi-user.target.wants下面创建了一个链接文件:
至于为什么会链接到 multi-user.target.wants目录下,则是由 etcd.server文件中的配置信息决定的。
【实用】CentOS 7系统优化脚本
作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。
脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。
脚本结构如下:
1.主菜单
2.二级菜单
主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。
脚本代码如下:
sh
#!/bin/sh
./etc/rc.d/init.d/functions
exportLANG=zh_CN.UTF-8
#一级菜单
menu1(){
clear
cat</etc/locale.conf</dev/null
echo'#firewall-cmd--state'
firewall-cmd--state
systemctldisablefirewalld.service&>/dev/null
echo'#systemctllist-unit-files|grepfirewalld'
systemctllist-unit-files|grepfirewalld
action"完成禁用firewalld,生产环境下建议启用!"/bin/true
echo"==========================================================="
sleep5
}
#精简开机启动
chkset(){
echo"=======================精简开机启动========================"
systemctldisableauditd.service
systemctldisablepostfix.service
systemctldisabledbus-org.freedesktop.NetworkManager.service
echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'
systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
action"完成精简开机启动"/bin/true
echo"==========================================================="
sleep2
}
#修改文件描述符
limitset(){
echo"======================修改文件描述符======================="
echo'*-nofile65535'>/etc/security/limits.conf
ulimit-SHn65535
echo"#cat/etc/security/limits.conf"
cat/etc/security/limits.conf
echo"#ulimit-Sn;ulimit-Hn"
ulimit-Sn;ulimit-Hn
action"完成修改文件描述符"/bin/true
echo"==========================================================="
sleep2
}
#安装常用工具及修改yum源
yumset(){
echo"=================安装常用工具及修改yum源==================="
yuminstallwget-y&>/dev/null
if[$?-eq0];then
cd/etc/yum.repos.d/
\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
ping-c1mirrors.aliyun.com&>/dev/null
if[$?-eq0];then
wget-O/etc/yum.repos.d/CentOS-Base.repo
yumcleanall&>/dev/null
yummakecache&>/dev/null
else
echo"无法连接网络"
exit$?
fi
else
echo"wget安装失败"
exit$?
fi
yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null
action"完成安装常用工具及修改yum源"/bin/true
echo"==========================================================="
sleep2
}
#优化系统内核
kernelset(){
echo"======================优化系统内核========================="
chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`
if[$chk_nf-eq0];then
cat>>/etc/sysctl.conf</dev/null
if[$?-eq0];then
/usr/sbin/
echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root
else
echo"ntpdate安装失败"
exit$?
fi
action"完成设置时间同步"/bin/true
echo"==========================================================="
sleep2
}
#history优化
historyset(){
echo"========================history优化========================"
chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`
if[$chk_his-eq0];then
cat>>/etc/profile<<'EOF'
#设置history格式
exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"
#记录shell执行的每一条命令
exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF
source/etc/profile
else
echo"优化项已存在。"
fi
action"完成history优化"/bin/true
echo"==========================================================="
sleep2
}
main(){
menu1
case$num1in
1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;
2) menu2
case$num2in
1) localeset;;
2) selinuxset;;
3) firewalldset;;
4) chkset;;
5) limitset;;
6) yumset;;
7) kernelset;;
8) sshset;;
9) restartset;;
10) ntpdateset;;
11) historyset;;
12) main;;
13) exit;;
*) echo'Pleaseselectanumberfrom[1-13].';;
esac
;;
3) exit;;
*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;
esac
}
main$*
将脚本保存为init.sh,赋予执行权限并执行即可。
chmod+xinit.sh&&./init.sh
通过一键命令执行,同样能达到脚本的效果:
bash-c"$(curl-Ls.aaa.al/init.sh)"
如需新增功能,可在脚本基础上进行修改实现。
本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。