组管理和权限管理
(-R 如果是目录,使其所有子文件或目录全部生效)
文件: 1.所有者 :创建者
2.所在组
3.其他组:
ls -ahl(查看文件的所有者、所在组)
chown 用户名 文件名 (修改文件所有者)
chgrp 组名 文件名 (修改文件所在的组)
usermod -g 组名 用户名 (改变用户所在组)
-(文件类型) rw-(文件所有者权限) r--(文件所在组用户拥有的权限) r--(文件其他组用户拥有的权限) 1(*1) tom(所有者) police(所在组) 0(*2) 3月 22 15:59 ok.txt
文件类型:
- 普通文件
d目录
l 软链接
c字符设备(键盘、鼠标)
b块文件(硬盘)
rwx文件权限:
如果是文件
r 可读,可以查看
w可写,可以修改,但不代表可以删除该文件。
(删除文件的前提条件是对该文件所在的目录有写的权限)
x可执行
如果是目录
r 可读,可以查看(ls)
w可写,可以修改(创建,删除,重命名)
x可以进入该目录
*1:
如果是文件
1 硬链接
如果是目录
1 代表该目录下的子目录有1个
*2:
如果是文件
1指文件大小
如果是目录
统一4096
修改文件或目录权限
1.(通过符号)
chmod:(u:所有者、g:所有组、o:其他人、a:所有人[u、g、o的总和])
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
2.(通过数字变更权限)
chmod:(r=4、w=2、x=1、rwx=4+2+1=7)
chmod u=rwx,g=rx,o=x 文件目录名 =>> chmod 751 文件目录名
chown(修改文件所有者):
chown 新所有者名 文件名
chown(改变用户的所有者和所有组)
chown -R tom kkk/ (将kkk目录下的所有子目录和文件的所有者改成tom)
chgrp(修改文件所在组):chgrp 新组名 文件名
实践:警察土匪(police,bandit)
jack,jerry:警察 xh,xq:土匪
1.创建组
2.创建用户 '删除用户:userdel 【-r】 用户名'
3.jack创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限:'删除文件:r -f 文件名'
4.jack修改该文件,让其他组人可以读,本组人可以读写
5.xh投靠警察,看看是否可以对文件进行读写'退出Xshell连接:logout'
root:usermod -g police xh
jack:chmod g=rx xh jack/
任务调度
如果只是简单的任务,可以不用写脚本,直接在crontab中加入任务;对于比较复杂的任务,需要写脚本(shell脚本)
service crond start(开启crond)
crontab -r(终止任务调度)
service crond restart(重启任务调度)
crontab(进行定时任务的设置):crontab [选项] (-e:编辑定时任务,-l:查询任务,-f:删除当前用户所有的任务)
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab-e命令
输入到任务调度文件:输入 */1****ls -l /etc/>>/tmp/to.txt (斜杠里的占位符:第一个代表一小时的第几分钟;第二个代表一天的第几小时;第三个代表一个月的第几天;第四个代表一年中的第几月;第五个代表一周中的星期几)
*/1 * * * * ls -l /etc/ >> /tmp/to.txt 为每一分钟执行 ls -l /etc/>>/tmp/to.txt 命令
特殊符号
*:任何时间(第一个*:一小时中每分钟都执行一次)
,:不连续的时间(0 8,12,16 * * * : 每天的八点整,十二点整,十六点整都执行一次)
-:连续的时间范围(0 5 * * 1-6 : 周一到周六的五点整都执行一次)
*/n:代表每个多少执行一次(*/10 * * * * : 每隔十分钟执行一次)
45 22 * * *:在22:45执行
实例:
每隔一分钟,就将当前的日期信息,追加到/tmp/mydate 文件中
1.编写文件 /home/mytask1.sh date >> /tmp/mydate
2.给mytask1.sh一个可以执行权限
chmod 744 mytask1.sh
3.crontab -e
4.*/1 * * * * /home/mytask1.sh
每天凌晨两点将mysql数据库test.db,备份到文件mydb.bak