特殊权限位
系统文件数据的9个权限位 系统中实际应该有12个权限位
进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源
setuid
: 在常规权限位第三位上使用S
表示如果存在x
,则使用s
表示,数字表示为4000
,对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行setgid
: 在常规权限位第六位上使用S
表示如果存在x
,则使用s
表示,数字表示为2000
,对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属组身份来执行sticky
: 在常规权限位第九位上使用T
表示如果存在x
,则使用t
表示,数字表示为1000
,对全局可写目录(other也可写)来说,让该目录具有sticky后,删除只对属于自己的文件有效(但是仍能编辑修改别人的文件,除了root的).不能根据安全上下文获取对别人的文件的写权限
定时任务
软件种类
- cronie:实现定时任务功能*****
- atd:实现定时任务功能 只能一次设置定时功能
- anacron:实现定时任务功能 应用在家用电脑
定时任务相关目录和文件
- /etc/cron.hourly : 每小时定时任务目录
- /etc/cron.daily : 每一天定时任务目录
- /etc/cron.weekly : 每一周定时任务目录
- /etc/cron.monthly : 每个月定时任务目录
- /etc/cron.deny : 定时任务黑名单
- /etc/cron.allow : 定时任务白名单,设置以后黑名单失效
- /var/spool/cron : 用户定时任务配置文件保存目录
- /var/log/cron : 定时任务日志
查看定时任务服务状态
systemctl status crond
查看/etc/crontab
文件
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
# 分 时 日 月 周
定时任务相关命令
- crontab -l : 用户定时任务查看
- crontab -e : 用户定时任务编辑
定时规则
# 每分钟
* * * * *
# 每小时第20分钟
20 * * * *
# 每小时第10分钟和第20分钟
10,20 * * * *
# 每小时第10分钟到第20分钟
10-20 * * * *
# 每10分钟
*/10 * * * *
# 每个小时10分钟后的每两分钟
10/2 * * * *
# 每天14点的每分钟
* 14 * * *
# 每天14点整
0 14 * * *
# 每月4日
* * 4 * *
# 每年4月
* * * 4 *
# 每个星期六
* * * * 6
- 日期信息不要和星期信息同时出现
- 命令部分尽量使用绝对路径
- 定时任务要有注释说明
- 命令执行成功条件 useradd ---> $PATH ---> /sbin/useradd ---> 命令执行成功
- 定时任务识别的PATH信息只有
/usr/bin:/bin
- 定时任务中执行命令,如果产生输出到屏幕的信息,都会以邮件方式告知用户,所有用户的邮件保存在该目录
/var/spool/mail
- 几乎大部分命令在最后会追加
> /dev/null 2>&1
或&> /dev/null
,将标准输出和错误输出都指向黑洞文件,防止占用硬盘资源
邮件服务占用磁盘空间问题
定时任务中执行命令,如果产生输出到屏幕的信息,都会以邮件方式告知用户,所有的信息都会存储在硬盘并占用硬盘资源
- 关闭邮件服务
systemctl stop postfix
关闭邮件服务后会在
/var/spool/postfix/maildrop
产生小文件占用磁盘空间
最佳的解决方法依然是将定时任务的内容输出到黑洞文件
date
命令使用
定时任务中无法
date
命令中的一些特殊符号
- 把字符转义
* * * * * /bin/date "+\%F \%T" >/tmp/time.txt
- 把命令写入脚本再执行
vim /oldboy/date.sh
/bin/date "+%F %T"
* * * * * /bin/sh /oldboy/date.sh &>/dev/null
系统的操作命令
chattr
命令
用于改变文件属性
- chattr +i /etc/passwd :
/etc/passwd
不得任意更动 - chattr -i /etc/passwd :
/etc/passwd
可以任意更动
执行参数
- a : 让文件或目录仅供附加用途。
- b : 不更新文件或目录的最后存取时间。
- c : 将文件或目录压缩后存放。
- d : 将文件或目录排除在倾倒操作之外。
- i : 不得任意更动文件或目录。
- s : 保密性删除文件或目录。
- S : 即时更新文件或目录。
- u : 预防意外删除。
lsattr
命令
用于显示文件属性
- lsattr /etc/passwd : 查看
/etc/passwd
属性
crontab
命令
定时任务服务
- crontab -l : 用户定时任务查看
- crontab -e : 用户定时任务编辑
定时规则
# 每分钟
* * * * *
# 每小时第20分钟
20 * * * *
# 每小时第10分钟和第20分钟
10,20 * * * *
# 每小时第10分钟到第20分钟
10-20 * * * *
# 每个小时10分钟后的每两分钟
10/2 * * * *
# 每天14点的每分钟
* 14 * * *
# 每天14点整
0 14 * * *
# 每月4日
* * 4 * *
# 每年4月
* * * 4 *
# 每个星期六
* * * * 6
最后一次更新于2022-06-10 11:19
0 条评论