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