cron计划任务

系统服务:crond 日志文件:/var/log/crond

• 使用 crontab 命令 – 编辑:crontab -e [-u 用户名] – 查看:crontab -l [-u 用户名] – 清除:crontab -r [-u 用户名]

1.查看服务状态 [root@server0 ~]# systemctl status crond

2.书写计划任务,


分 时 日 月 周 [root@server0 ~]# useradd natasha [root@server0 ~]# which ifconfig #查询命令所对应的程序在那里 [root@server0 ~]# which date [root@server0 ~]# crontab -e -u natasha [root@server0 ~]# crontab -l -u natasha

*/1 * * * * /usr/bin/date >> /home/natasha/abc.txt

[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt

#######################################################

基本权限的类别 • 访问方式(权限) – 读取:允许查看内容-read r – 写入:允许修改内容-write w – 可执行:允许运行和切换-execute x

对于文本文件: r: cat head tail less w: vim x: 运行

• 权限适用对象(归属) – 所有者:拥有此文件/目录的用户-user u – 所属组:拥有此文件/目录的组-group g – 其他用户:除所有者、所属组以外的用户-other o

权限位 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称

[root@server0 ~]# ls -l /etc/passwd [root@server0 ~]# ls -ld /etc/

[root@server0 ~]# ls -ld /root

[root@server0 ~]# ls -ld /home/student

[root@server0 ~]# ls -ld /tmp

以“-”开头: 文件 以“l”开头: 快捷方式 以“d”开头: 目录

• 使用 chmod 命令 – chmod [-R] 归属关系+-=权限类别 文档... [-R] 递归赋予权限

[root@server0 ~]# mkdir /nsd01 [root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u-x /nsd01 [root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod g+w /nsd01 [root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod o=rwx /nsd01 [root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u=rwx,g=rx,o=r /nsd01 [root@server0 ~]# ls -ld /nsd01

################################################ 如何判断用户具备权限 1.判断用户所属的身份 所有者>所属组>其他人 匹配及停止
2.看相应权限位的权限划分

目录的 r 权限:能够 ls 浏览此目录内容 目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/... 等更改目录内容的操作 目录的 x 权限:能够 cd 切换到此目录

#################################################### 以root用户新建/nsddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作 1)使用户zhangsan能够在此目录下创建子目录 切换用户 su - zhangsan chmod o+w /nsddir/

2)使用户zhangsan不能够在此目录下创建子目录 chmod o-w /nsddir/

3)使用户zhangsan能够修改readme.txt文件 chmod o+w /nsddir/readme.txt

4)调整此目录的权限,使所有用户都不能进入此目录 chmod u-x,g-x,o-x /nsddir/

5)为此目录及其下所有文档设置权限 rwxr-x--- chmod -R u=rwx,g=rx,o=--- /nsddir/

###############################################

设置文档归属 • 使用 chown 命令 – chown [-R] 属主 文档... – chown [-R] :属组 文档... – chown [-R] 属主:属组 文档...

[root@server0 ~]# mkdir /nsd05 [root@server0 ~]# ls -ld /nsd05 [root@server0 ~]# groupadd tedu [root@server0 ~]# chown dc:tedu /nsd05 [root@server0 ~]# ls -ld /nsd05

[root@server0 ~]# chown student /nsd05 [root@server0 ~]# ls -ld /nsd05

[root@server0 ~]# chown :root /nsd05/ [root@server0 ~]# ls -ld /nsd05/

#################################################### 特殊权限(附加权限)

Set UID

• 附加在属主的 x 位上 – 属主的权限标识会变为 s – 适用于可执行文件,Set UID可以让使用者具有文件属 主的身份及部分权限(传递所有者身份)

Set GID • 附加在属组的 x 位上 – 属组的权限标识会变为 s – 适用于可执行文件,功能与Set UID类似(传递所属组身份)

– 适用于目录,Set GID可以使目录下新增的文档自动设 置与父目录相同的属组

[root@server0 ~]# mkdir /tarena [root@server0 ~]# ls -ld /tarena

[root@server0 ~]# chown :tedu /tarena [root@server0 ~]# ls -ld /tarena

[root@server0 ~]# mkdir /tarena/nsd01 [root@server0 ~]# ls -ld /tarena/nsd01

[root@server0 ~]# chmod g+s /tarena/ [root@server0 ~]# ls -ld /tarena/

[root@server0 ~]# mkdir /tarena/nsd02 [root@server0 ~]# ls -ld /tarena/nsd02 [root@server0 ~]# touch /tarena/nsd02/abc.txt [root@server0 ~]# ls -l /tarena/nsd02/abc.txt #################################################

Sticky Bit • 附加在其他人的 x 位上 – 其他人的权限标识会变为 t – 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入 权限(禁止操作别人的文档)

[root@server0 ~]# mkdir /public [root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public [root@server0 ~]# ls -ld /public

[root@server0 ~]# chmod o+t /public [root@server0 ~]# ls -ld /public

###################################################

acl策略的作用

• 文档归属的局限性 – 任何人只属于三种角色:属主、属组、其他人 – 无法实现更精细的控制

• acl访问策略 – 能够对个别用户、个别组设置独立的权限 – 大多数挂载的EXT3/4、XFS文件系统默认已支持

[root@server0 ~]# mkdir /test [root@server0 ~]# ls -ld /test [root@server0 ~]# chmod o=--- /test [root@server0 ~]# ls -ld /test [root@server0 ~]# su - zhangsan

[zhangsan@server0 ~]$ cd /test/ -bash: cd: /test/: Permission denied [zhangsan@server0 ~]$ exit logout

[root@server0 ~]# setfacl -m u:zhangsan:rx /test/ [root@server0 ~]# getfacl /test/ [root@server0 ~]# su - zhangsan [zhangsan@server0 ~]$ cd /test/ [zhangsan@server0 test]$ pwd [zhangsan@server0 test]$ exit

• 使用 getfacl、setfacl 命令 – getfacl 文档... – setfacl -m u:用户名:权限类别 文档... – setfacl -m g:组名:权限类别 文档... – setfacl -x u:用户名 文档... #删除指定的ACL策略
– setfacl -b 文档... #清空ACL策略

[root@server0 ~]# getfacl /test/ [root@server0 ~]# setfacl -m u:dc:rwx /test/ [root@server0 ~]# setfacl -m u:natasha:rx /test/ [root@server0 ~]# getfacl /test/

[root@server0 ~]# setfacl -x u:dc /test/ #删除指定的ACL [root@server0 ~]# getfacl /test/

[root@server0 ~]# setfacl -b /test/ #清空所有的ACL [root@server0 ~]# getfacl /test/

################################################## [root@server0 ~]# mkdir /nsd20 [root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd20 [root@server0 ~]# ls -ld /nsd20 drwxrwxrwx. 2 root root 6 10月 30 15:49 /nsd20 [root@server0 ~]# setfacl -m u:natasha:--- /nsd20