计划任务服务程序
计划任务
at 命令 一次性的
crond 服务 周期性的
23:29执行reboot命令(重启服务器)
at -l 查看当前的计划任务
at -c 任务号 查看任务里面的命令
atrm 任务号 删除任务
crond 服务
crontab 配置工具
配置crond命令
crontab -e
crontab -e -u 用户名
口诀:分 时 日 月 星期 命令
30 0 * * 1,3,5 usr/sbin/reboot 以后每周一周三周五重启一次服务
30 0 */2 * 没格两天重启
没有值得话一定要用*做站位
命令必须写路径,如果不知道命令路径,用whereis reboot 命令查
假设在每周一、三、五的凌晨3点25分,都需要使用tar命令把某个网站的数据目录进行打包处理,使其作为一个备份文件。我们可以使用crontab -e命令来创建计划任务。为自己创建计划任务无需使用-u参数,具体的实现效果的参数如crontab -l命令结果所示:
root@linuxprobe ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
为了确保安全,我们重启他的服务并且将他加到服务,然后查看一下他的状态
-----------------------------------------------------------------------
Linux系统中有3类用户
1:管理员 root UID 0
2: 系统用户 UID 1-999 为了管理服务
在/sbin/nologin
3:普通用户 1000~几十万
useradd 参数 用户名 用来创建用户
参数 | 作用 |
-d | 指定用户的家目录(默认为/home/username) |
-e | 账户的到期时间,格式为YYYY-MM-DD. |
-u | 指定该用户的默认UID |
-g | 指定一个初始的用户基本组(必须已存在) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定该用户的默认Shell解释器 |
请注意/sbin/nologin,它是终端解释器中的一员,与Bash解释器有着天壤之别。一旦用户的解释器被设置为nologin,则代表该用户不能登录到系统中:
用户组
groupadd 组名
增加一个扩展组用
usermod -G 组名 用户名 (-g是基本组)
基本组:与生俱来的基本信息 先天的
扩展组: 为了能够方便以后工作获取资料等加入的一个组里面,后天的
groupdel 组名 删除用户组
passwd 用户名 创建密码
userdel 用户名 删除用户
但是这样只会删除掉用户默认的用户信息,不会删除用户所有信息
想彻底删除用-r
userdel -r 用户名
修改用户名称可以直接vim /etc/passwd 文件里面进行
---------------------------------------------------------------------------------------------------------------------
权限
r read 读取 目录(能够查看目录内文件列表的权限)
w write 写入 目录(能够在目录内进行删除,新建,重命名文件的权限)
x execute 执行 目录(有没有权限切换目录)
r=4 w=2 x=1 (777是最高权限)
rwxrw-r--转换成数字是4+2+1,4+2+0,4+0+0 =764
433 反过来就是r---wx--wx
521 = r-x-w---x
chmod 设置用户权限
chown 设置用户所有者和所有组(属性)
chmod 权限数目 文件名
chown 要改为的所有者:要改为的所有组 文件名
SUID(尚方宝剑) 让程序执行者,临时获取程序所有者的身份 (u+s)
上面权限出现的S就是代表SUID
SGID 让程序执行者,临时获取程序所有组的身份 (g+s)
让目录内的新建文,件继承目录所有组的属性
我们先创建一个xioaji目录,然后给他赋予GID权限和最高777权限,切换一个用户,我们查看/tmp/xioaji这个目录用户组权限里面有一个,接下来我们随便创建一个文件haha,我们发现他的所属所有组是用户本身,但是当我们在xioaji这个目录下创建haha文件的话会发现他的所有组变成了root。这就是SGID,会更这xioaji这个目录权限而定。
SBIT 保护位(粘滞位) 让目录内的文件,只能自己删除自己的 (o+t)
SUID=4 SGID=2 SBIT=1
rwsrwxrwx 当发现是小s的时候就是他原来有x执行权限,反之大S时候就是没有 t也是如此
7654 =先别管7 420+401+400=rwSr-sr-T
5432 r-S-wx-wT
rwsr--rwT 5746
隐藏权限
Linux系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发觉
chattr 设置 (设置用加号,取消用减号)
参数 | 作用 |
i | 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件 |
a | 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only) |
S | 文件内容在变更后立即同步到硬盘(sync) |
s | 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域) |
A | 不再修改这个文件或目录的最后访问时间(atime) |
b | 不再修改文件或目录的存取时间 |
D | 检查压缩文件中的错误 |
d | 使用dump命令备份时忽略本文件/目录 |
c | 默认将文件或目录进行压缩 |
u | 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复 |
t | 让文件系统支持尾部合并(tail-merging) |
x | 可以直接访问压缩文件中的内容 |
a参数就是说我们以后只能对这个参数进行追加,不能进行修改和删除。取消就用-a
我们用追加写入将哈哈哈写入到文件中可以,但是当我们用清空写入时去报错了。
lsattar 查看 (看目录加 -d)
一般权限
特殊权限
隐藏权限
这3个对于一类人对于所有人都是生效的
facl 文件访问控制列表
对于某个人,某个组精准的权限指定
命令是:
setfacl 设置
getfacl 查看
# setfacl -Rm u:zs:rwx public
-R代表对目录进行一个操作,-m代表进行修改的意思,u:的话就是对于某个用户进行一个权限的指令,如果是g的话就是对用户组进行一个权限的指令。本例中 就是对zs用户进行权限指令。
然后我们进行权限的查看会发现最后有个加号,就是说如果为.号的话就是没有一个特殊的权限,如果为+号的话就说明有一个特殊权限。然后我们用getfacl 来查看public目录。
然后我们登陆两个用户来看一下
发现因为zs用户对这个目录有权限操作,所以完全不是问题,而我们看一下另一个账号ls
失败,不能对这个目录做任何操作
su 命令 快速切换用户
su 用户名 (超级用户切换普通用户不用密码,反之需要密码)
如果中间不加-的话只是切换了身份,而里面的变量等还是上一个用户的,所以我们尽量加上-
su - 用户名
sudo 服务
如果你要给某个用户干一件事需要用到root用户但是又不想给他密码,那么我们用visudu命令,
打开后编辑,分别对应 谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表(要路径,可以用whereis 命令 查看)