cron计划任务(周期性计划任务)
按照设置的时间间隔对用户反复执行固定系统任务
重要:时间+计划
系统服务(名称):crond
日志文件:/var/log/crond
从一开机就开始记录crond(不管成功还是失败)
使用 crontab 命令
– 编辑:crontab -e -u 用户名
– 查看:crontab -l -u 用户名
– 清除:crontab -r -u 用户名
1.查看服务状态
[root@server0 ~]# systemctl status crond
2.书写计划任务
7个*分隔开表示
* * * * *
分 时 日 月 周 #0~7 ,0和7表示周日
/n :时间频率,表示每n执行的计划
*/1 * * * *:表示任意时间范围类每隔一分钟
[root@server0 ~]# useradd natasha #添加用户natasha
[root@server0 ~]# which ifconfig #查询命令所对应的程序位置
[root@server0 ~]# which date
/usr/bin/date #查询到date命令对应的程序在/usr/bin/date
[root@server0 ~]# crontab -e -u natasha #进入编辑界面
*/1 * * * * /usr/bin/date >> /home/natasha/abc.txt
[root@server0 ~]# crontab -l -u natasha #查看计划任务
*/1 * * * * /usr/bin/date >> /home/natasha/abc.txt
[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt #验证任务执行结果
追加重定向依次显示不覆盖,覆盖重定向显示新的会覆盖旧的
[root@server0 ~]# crontab -r -u natasha #清除计划任务,不是清除用户,用户还在
[root@server0 ~]# crontab -l -u natasha #查看计划任务已被清除
no crontab for natasha
[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt #之前的任务还在,只是不会再继续执行下去
--------------------------------------------------------------------------------------------------------------------------------------------------
提醒:面试常问问题
Q:Linux有哪些常用权限?
正确回答:基本权限,特殊权限,acl访问控制列表权限。
错误回答举例:rwx权限.....
rwx是基本权限中的类型,要根据题意来回答
基本权限的类别
访问方式(权限)
– 读取:允许查看内容-read r
– 写入:允许修改内容-write w
– 可执行:允许运行和切换-execute x
对于文本文件:
r: cat head tail less
w: vim
x: 运行 cd
权限适用对象(归属)
– 所有者(所属主):拥有此文件/目录的用户-user u
– 所属组(所属组):拥有此文件/目录的组-group g
– 其他用户:除所有者、所属组以外的用户-other o
[root@server0 ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2044 10月 30 19:08 /etc/passwd
权限位 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称
# -rw-r--r--表示权限位
后面9个项分3个分别表示所有者(rw-),所属组(r--),其他用户(r--)的权限
[root@server0 ~]# ls -ld /etc/
[root@server0 ~]# ls -ld /root
[root@server0 ~]# ls -ld /home/student
[root@server0 ~]# ls -ld /tmp
以“-”开头: 文件 例如:-rw-r--r--. 1 root root 2044 10月 30 19:08 /etc/passwd
以“l”开头: 快捷方式 例如:
以“d”开头: 目录 例如:drwxr-xr-x. 2 root root 6 10月 30 19:45 /nsd01
使用 chmod 命令 修改权限
– chmod [-R] 归属关系+-=权限类别 文档...
[-R] 递归赋予权限
[root@server0 ~]# mkdir /nsd01
[root@server0 ~]# ls -ld /nsd01
drwxr-xr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod u-x /nsd01 #所属主去掉x权限
[root@server0 ~]# ls -ld /nsd01
drw-r-xr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod g+w /nsd01 #所属组添加w权限
[root@server0 ~]# ls -ld /nsd01
drw-rwxr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod o=rwx /nsd01 #其他用户全都改为rwx权限
[root@server0 ~]# ls -ld /nsd01
drw-rwxrwx. 2 root root 6 10月 30 19:45 /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
[root@dqs ~]# mkdir /nsddir #创建/nsddir目录
[root@dqs ~]# touch /nsddir/readme.txt #在/nsddir目录下创建readme.txt文件
[zhangsan@dqs ~]$ mkdir /nsddir/zhangsan #切换到用户zhangsan下创建目录及子目录 提示以下 信息,没有权限不能创建
mkdir: cannot create directory ‘/nsddir/zhangsan’: Permission denied
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 ~]# useradd dc #添加用户dc
[root@server0 ~]# mkdir /nsd05 #创建目录nsd05
[root@server0 ~]# ls -ld /nsd05 #查看目录的详细属性
[root@server0 ~]# groupadd tedu #创建组tedu
[root@server0 ~]# chown dc:tedu /nsd05 #将dc用户设置属主,tedu组为属组
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# chown student /nsd05 #设置student为属主
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# chown :root /nsd05/ #设置root为属组
[root@server0 ~]# ls -ld /nsd05/
####################################################
特殊权限(附加权限)
Set UID
附加在属主的 x 位上
– 属主的权限标识会变为 s (在附加之前有x权限的前提下),若附加之前没有x权限再附加,则变为S
– 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限(传递所有者身份)
Set GID
附加在属组的 x 位上
– 属组的权限标识会变为 s(在附加之前有x权限的前提下),若附加之前没有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