组管理和权限管理

1、所有者

文件a.txt的三概念

  • 所有者:谁创建的,可改 -------》比如根目录是root的,所以lzw就不能在那创建dir02
  • 所在组:所有者所在的组,组内其他成员对文件有点权限
  • 其他组:
  • image-20211210185737254

命令

  • ls -ahl 查看所有者

image-20211224181945716

  • chown tom apple.txt 更改所有者

image-20211224182616934

2、所在组

就是day02用户组那里

image-20211224183103295

  • ls -l ----所在组

    image-20211224183257114
  • chgrp 组名 文件名 ----修改文件的所在组

image-20211224184555425
  • usermod -g 新组名 用户名 —修改用户的组

image-20211224184523324

3、rwx权限

第0位,文件类型(dev目录有很多character文件

image-20211226181515228

比如b块设备

image-20211226181847468

第1-3位,所有者的权限

第4-6位,组内其他人的权限

第7-9位,其他用户的权限

读文件只需 文件r+目录x,无需目录r

image-202112281057364231

重要目录的x执行权限,是读写删增目录内文件的基础

4、rwx举例

1)看文件的rwx内容

image-20211226183509967

2)修改rwx权限—chmod

给哪些权限?

  • u 所有者
  • g 组内其他人
  • o 外人
  • a 每个人

给的权限有哪些?

  1. r 读
  2. w 写
  3. x 执行
1
2
3
4
5
6
用字母
chmod u=rwx,g=rx,o=x 文件名 ---

chmod o+w 文件名 ---给外人赋予“读”

chmod a-x 文件名 ---给所有人剥夺“执行权限”

用**数字表权限**

r=4, w=2, x=1

  • 1 是x
  • 2 是w
  • 3 是x+w
  • 4 是r
  • 5 是r+x
  • 6 是r+w
  • 7 是rwx
1
2
用数字
chmod 751 文件名 ---等同于上面的

3)修改所有者—chown

-R 让**目录**的儿孙们都生效

1
2
3
4
5
chown  tom  文件名    ---文件所有者变成tom

chown tom:cat 文件名 ---所有者tom,组为cat

chown -R tom 目录 ---目录所有儿孙的主人都是tom

4)修改所在组—chgrp

-R 让**目录**的儿孙们都生效

1
2
3
chgrp shaolin /home/abc.txt  ---abc.txt组改为shaolin 

chgrp -R shaolin /home/test ---test文件夹组改为shaolin

5)综合栗子

警察和土匪

image-20211226211052435

西游记

image-20211226212626897

定时任务调度crond—反复性

病毒扫描,用户mysql数据库的备份

-e **编辑**crontab定时任务

-l 查询crontab任务

-r **删除**当前用户的crontab任务 —记得终止,免得不堪重负

1
2
3
4
5
crontab -e     ---编辑定时任务

*/1 * * * * ls -l /home/ > /usr/a.txt ---每隔一分钟把home下内容,重定向写到a.txt中

service crond restart ---重启任务调度

1、时间规则

五个占位符

image-20211228162008090

占位符的种类

image-20211228162326304

案例

image-20211228165024130

2、应用实例

1)定时执行脚本

每隔一分钟,把cal追加写到 /home/mycal 文件中

1
2
3
4
5
6
7
8
9
vim /home/jiaoben.sh     ---编辑jiaoben.sh

cal >> /home/mycal ---往jiaoben.sh里面写入命令

chmod u+x /home/jiaoben.sh ---给jiaoben.sh执行权限

crontab -e ---编辑crontab任务

*/1 * * * * /home/jiaoben.sh ---往crontab写入定时任务

2)定时备份mysql

每天2:00把mysql数据库testdb,备份到文件中,

指令为:mysqldump -uroot -p密码 库名 > /home/db.bak

可选

1
2
3
crontab -e

0 2 * * * mysqldump -uroot -proot 【--host=某】 --databases=testdb > /home/db.bak

at定时任务—一次性

只执行一次

1
2
3
4
5
6
7
ps  -ef  |  grep atd     ---查看atd守护进程运行

Ctrl+D ---结束at命令的输入

atq ---查看执行的工作任务

atrm 编号 ---删除某任务

选项

image-20211228200533422

时间

image-20211228200934044

1、实例

两天后的下午5点执行 /bin/ls /home

image-20211228202108473

image-20211228202322938

明天17点,输出时间到 /root/date100.log

image-20211228202701864

两分钟后执行脚本script

image-20211228204350070