进程、SELinux、服务、日志

本文介绍了Linux系统中进程的基本管理,包括PID、PPID、job control、进程权限和状态。重点讲解了SELinux,这是一种内置于Linux内核的安全模块,用于增强系统的访问控制。此外,还探讨了服务管理和日志系统,如rsyslogd,以及如何查看和管理登陆文件,如/var/log下的各种日志文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、以不同的账户打开bash shell,会有不同的shell进程标识(PID不同)。
2、ps -l //列出当前进程。
PID //进程标识
PPID //该进程的父进程
3、job control:
(1)每个工作(job control)都是当前bash的子进程
(2)bash只能管理自己的工作,不能管理其他bash的工作
4、执行多任务:
tar -zpcf /tmp/etc.tar.gz /etc & //将打包任务在背景中执行
tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 & //避免影响前景,使用数据流重导向
ctrl + z // 将当前任务暂停,放到背景中。
ctrl+c //强制终止任务
jobs -l //查看背景工作
fg 工作号码 //将背景工作拿到前景处理
bg 工作号码 //让工作在背景中执行
kill -l //查看kill信号
kill -9 %2 //强制删除工作2
kill -SIGTERM %1 // kill -15 %1 //正常结束
kill -9 进程PID //强制删除进程
5、
ps -l //查看用户进程
ps aux // 查看系统进程

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 4058 3802 1 80 0 - 58600 do_wai pts/0 00:00:00 su
4 S 0 4063 4058 1 80 0 - 29154 do_wai pts/0 00:00:00 bash
0 R 0 4104 4063 0 80 0 - 38300 - pts/0 00:00:00 ps

F:进程权限:4 // root 1// 表示子进程仅仅是复制,而没有执行
S:进程状态:
R // 正在运行
S //睡眠状态
D //不可唤醒状态
T //停止状态
Z //僵尸状态,进程停止,无法移出内存
UID : 进程由UID所拥有
C:cpu使用率
PRI/NI :优先级
ADDR/SZ/WCHAN:
addr // 指出进程在内存的哪个部分,若进程running则会显示 -
sz // 进程用掉多少内存
wchan // 进程是否运行(运行状态)。- 表示正在运行
TIME:使用cpu的时间
ps aux :
tty ? //问号表示该进程与终端无关
vsz //使用掉的虚拟内存
若CMD后有<defunct> 则表示僵尸进程
top -d 2 //动态显示进程,每两秒更新一次
top -b -n 2 > /tmp/top.txt // 将top运行两次,保存在top.txt中
top -d 2 -p 3802 // 观察3802进程
top // r : 给某个PID设置优先级
pstree -Aup //显示PID、users
6、
killall -1 rsyslogd //启动rsysolgd进程
killall -9 httpd //终止httpd进程
7、优先级:
PRI (priority):由内核调整,PRI的值越低越优先。
NI (nice): 范围:-20~19
PRI(new)=PRI(old)+nice
nice -n -5 vim & // 提高vim的优先级(调整还未执行命令的优先级)
renice -5 14836 // 调整已经存在的指令的优先级,子进程也被改变。
8、查看系统资源
free -m // 以mb为单位,显示内存使用量
uname -a // 列出所有系统信息
uptime //开机时间、使用者、负载
netstat //网络连接、系统进程通信
netstat -tulnp //显示网络连接
dmesg //显示内核信息
vmstat 1 3 //每秒一次,一共统计3次
vmstat -d //磁盘使用情况
9、特殊权限
SUID :由程序所控制
10、
/proc // 内存数据,以文件的形式存在
pidof bash //列出bash的PID
11、security enhanced linux:安全强化linux
SELinux 被整合到linux内核中
访问控制:MAC(SELinux,控制对象:进程)、DAC(rwx、控制对象:文件、文件夹)
MAC:进程是否能读取文件
MAC:
政策:targeted(默认。限制网络服务,针对本机限制较少)、minimum(仅仅保护选择的进程)、mls(限制较为严格)
安全性本文:SELinux内置的rwx
ls -Z //查看安全性本文
drwxr-xr-x. fm fm unconfined_u:object_r:user_home_t:s0 公共
字段含义:
(1)身份识别:
unconfined_u :不受限的用户
system_u : 系统用户
(2)角色:
object_r : 表示文件或目录等资源
system_r : 进程
(3)类型:
在文件资源上称为类型(type),在进程上称为领域(domain)
ps -eZ //查看是否受限
模式:
Disabled:关闭SELinux
permissive : 不会限制进程,但是会将没有通过安全性文本检查的进程记录
Enforcing:强制执行SELinux
getenforce //查看SELunux模式
setenforce 0或1 //转换模式
sestatus -v // 查看安全性文本
配置文件:
/etc/selinux/config
getsebool -a //查看规则
setsebool //修改规则
修改安全性文本:
ll -Z /etc/hosts //查看hosts的安全性文本
chcon -v -t net_conf_t /etc/cron.d/checktime //为checktime添加类型
chcon -v –reference=/etc/shadow /etc/cron.d/checktime //将shadow的类型应用到checktime上
12、服务(脚本+配置文件)
/usr/lib/systemd/system //服务启动脚本
服务类型: .service(网络、系统服务) .socket .target(一堆服务) .mount .path (侦测path服务) .timer(循环执行的服务)
systemctl enable(disable) atd //设置开机启动(不启动)
systemctl list-units –type=service –all //列出所有service服务
systemctl get-default //查看默认登陆界面服务
systemctl set-default multi-user //设置为多用户文字界面
systemctl isolate multi-user //设置为文字界面
systemctl isolate graphical //设置为图形界面
systemctl list-dependencies 服务名 //查看服务依赖
systemctl list-dependencies –reverse //哪个服务会用到这个服务
与服务有关的目录:
/uer/lib/systemd/system // 系统默认服务脚本
/run/systemd/system //系统执行过程中产生的脚本
/etc/systemd/system //管理员建立的脚本
/etc/sysconfig/* //用于服务初始化
/var/lib/ //服务产生的数据
/run //服务暂存档
systemctl list-sockets //列出socket服务产生的文件
netstat -tlunp //网络服务
less /usr/lib/systemd/system/sshd.service
sshd 服务的配置文件:
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service


[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

13、登陆文件
/var/log/dmesg //开机时,内核产生的信息
/var/log/lastlog //最近一次登陆系统时,产生的信息
/var/log/maillong /var/log/mail/* //记录邮件信息
/var/log/messages //系统的重要、错误信息
/var/log/secure // 记录含有帐号、密码的软件信息、sudo、login、ssh
/var/log/wtmp /var/log/faillog //正确、错误登入系统者的信息
/var/log/httpd/* /var/log/samba/* //服务定制的log文件
与登陆文件有关的服务:
systemd-journald.service //记录系统服务信息
rsyslog.service //记录登陆文件
logrotate
/etc/rsyslog.conf //配置文件
服务产生的信息分为7个等级,0~7 。依次为debug info notice warning err crit alert emerg
设置rsyslog.conf :
点(.)表示大于点后的某个等级
点等号(.=) 等于某个等级
点叹号 (.!) 不等于某个等级
星号(*) 表示在线的所有人
news.;cron. /var/log/cronnews
news.=warn;cron.=warn /var/log/cronnews.warn
*.*;news.none;cron.none;mail.none /var/log/messages
// 记录所有信息到messages,不记录news cron mail
news,cron,mail.none //相当于 news.none cron.none mail.none
也可将每个主机登陆文件传到登陆文件服务器上。
登陆文件替换:logrotate (将旧信息移动到旧档,并建立新的空档)
/etc/logrotate.conf
/etc/logrotate.d/
由于rsyslogd 开机才启动,用
systemd-journald //协助记录开机登陆文件 ,记录在内存中。
journal //查看开机信息
journalctl –since today //今天
journalctl -p err //找出error信息
保存systemd-journald 信息到磁盘:
mkdir /var/log/journal
chown root:systemd-journal /var/log/journal //改变拥有者
chmod 2775 /var/log/journal
systemctl restart systemd-journal
logwatch  //分析登陆文件  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值