四十四、rwx权限
权限的基本介绍
- 输入指令 ls -l 显示的内容如下
- -rwxrw-r-- 1 root 1213 Feb 2 09:39 abc
- 0-9位说明
- 第0位确定文件类型(d , - , l , c , b)
- l 是链接,相当于 windows 的快捷方式
- - 代表是文件是普通文件
- d 是目录,相当于windows 的文件夹
- c 是字符文件,鼠标,键盘
- b 是块设备,比如硬盘
- cd /dev/ 目录下查看
- 第 1-3 位确定所有者(该文件的所有者) 拥有该文件的权限 --User
- 第 4-6 位确定所属组(同用户组的)拥有该文件的权限 --Group
- 第 7-9 位确定其他用户拥有该文件的权限 --Other
- 第0位确定文件类型(d , - , l , c , b)
-
rwx 作用到文件
- [ r ] 代表可读(read):可以读取,查看
- [ w ] 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录有写权限,才能删除该文件
- [ x ] 代表可执行(execute): 可以被执行
-
rwx 作用到目录
- [ r ] 代表可读(read):可以读取,ls 查看目录内容
- [ w ] 代表可写(write): 可以修改,对目录内创建+删除+重命名目录
- [ x ] 代表可执行(execute): 可以进入该目录
四十五、权限说明案例
- 在终端 ls -l 中显示的内容如下:
- -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件类型:-l d c b
- 其余字符每3个一组(rwx) 读(r)写(w) 执行(x)
- 第一组 rwx : 文件拥有者的权限是读、写和执行
- 第二组 rw-: 与文件拥有者同一组的用户的权限是读、写但不能执行
- 第三组 r-:不与文件拥有者同组的其他用户的权限是读不能写和执行
- 可用数字表示为 r=4 w=2 x=1 因此 rwx=4+2+1=7
- 其他说明
- 1 文件:硬连接数或 目录:子目录数
- root 用户
- root 组
- 1213 文件大小(字节),如果是文件夹,显示 4096字节
- Feb 2 09:39 最后修改日期
- abc 文件名
- -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
四十六、修改权限
- 基本说明
- 通过 chmod 指令,可以修改文件或者目录的权限
- 第一种方式: + 、 - 、 = 变更权限
- u :所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
- chmod u =rwx, g=rx, o=x 文件/目录
- chmod o+w 文件/目录名
- chmod a=x 文件/目录名
- 案例演示
- 给abc 文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
- chmod u=rwx,g=rx,o=rx abc
- 给abc文件的所有者除去执行的权限,增加组写的权限
- chmod u-x,g+w abc
- 给abc文件的所有用户添加读的权限
- chmod a+r abc
- 第二种方式:通过数字变更权限
- r=4 2=2 x=1 rwx=4+2+1=7
- chmod u=rwx,g=rx,o=x 文件目录名
- 相当于 chmod 751 文件目录名
- 案例演示
- 要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用给数字的方式实现
- rwxr-xr-x中 rwx等于7,r-x等于5,r-x等于5
- chmod 755 /home/abc.txt
- rwxr-xr-x中 rwx等于7,r-x等于5,r-x等于5
- 要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用给数字的方式实现
- 给abc 文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
四十七、修改文件所有者和所在组
修改文件所有者-chown
- 基本介绍
- chown newowner 文件/目录 改变所有者
- chown newowner:newgroup 文件/目录 改变所有者所在组
- -R 如果是目录 则使其下所有子文件或目录递归生效
- 案例演示
- 请将 /home/abc.txt 文件的所有者修改成 tom
- chown tom /home/abc.txt
- 请将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
- chown -R tom /home/test
- 请将 /home/abc.txt 文件的所有者修改成 tom
修改文件/目录所在组-chagrp
- 基本介绍
- chgrp newgroup 文件/目录 改变所在组
- 案例演示
- 请将 /home/abc.txt 文件的所在组修改成 shaolin
- groupadd shaolin
- chgrp shaolin /home/abc.txt
- 请将 /home/test 目录下的所有文件和目录都修改成 shaolin
- chgrp -R shaolin /home/test
- 请将 /home/abc.txt 文件的所在组修改成 shaolin
四十八、权限管理应用实例1
最佳实践-警察和土匪游戏
police,bandit
jack,jerry:警察
xh,xq:土匪
- 创建组
- groupadd polic;
- groupadd bandit
- 创建用户
- useradd -g polic jack;
- useradd -g polic jerry;
- useradd -g bandit xh;
- useradd -g bandit xq;
- jack 创建一个文件,自己可以读r写w,本组人可以读,其他组没任何权限
- 首先用 jack 登录,创建文件vim jack.txt
- 进入后按 i 进入编辑模式,输入内容 hello 然后 ESC , 再输入 :wq! 进行保存
- jack 修改该文件,让其他组人可以读,本组人可以读写
- chmod o=r,g=r jack.txt
- xh 投靠警察,看看是否可以读写
- usermod -g polic xh
- 先登录权限较大的 root 用户,再进行修改
- 测试:看看 xh 是否可以读写
- 结论:如果要对目录内的文件进行操作,需要要有对该目录的相应权限
四十九、权限管理应用实例2
- 建立两个组(神仙(sx),妖怪(yg))
- groupadd sx
- groupadd yg
- 建立四个用户(唐僧,悟空,八戒,沙僧)
- useradd ts
- useradd wk
- useradd bj
- useradd ss
- 设置密码
- passwd ts
- 设置密码123
- passwd wk
- 设置密码123
- passwd bj
- 设置密码 123
- passwd ss
- 设置密码 123
- passwd ts
- 把悟空,八戒放入妖怪,唐僧,沙僧放在神仙
- 改变用户所在组:usermod -g 组名 用户名
- usermod -g yg wk
- usermod -g yg bj
- usermod -g sx ts
- usermod -g sx ss
- 用悟空建立一个文件(monkey.java 该文件要输出 i am monkey)
- 先用悟空用户登录
- pwd 查看绝对路径
- vim monkey.java 创建文件
- 按 i 进入编辑模式,输入内容 i am monkey ,
- 按ESC退出编辑模式,输入 :wq! 保存
- 给八戒一个可以 r w 的权限
- 八戒和悟空是在同一组 yg 里面的,上面的 ll 可以看出组已经有了 read 的权限,所以再加一个 写 的权限就可以了
- 给文件所在组增加写的权限 :chmod g+w monkey.java
- 八戒修改 monkey.java 加入一句话(i am pig)
- 先登录八戒用户名,pwd查看绝对路径
- cd /home/wk 进入悟空的目录,权限不够
- 对于妖怪所在组,wk没有给其他组成员任何的权限
- 通过wk 给组内的其他成员增加 读写执行 的权限
- chmod g+r+w+x wk
- 现在跟 wk 同组的组员对 yg 这个组都具有 读和写 的权限了
- 登录八戒的用户名,现在有权限进入悟空的目录
- cd /home/wk
- 进入文件进行编辑 vim monkey.java
- 按 i 进入编辑模式,输入输入内容 i am pig ,按 ESC 退出编辑模式,输入 :wq!进行保存
- 唐僧 沙僧 对该文件没有权限
- 把沙僧放入妖怪组
- 不能登录沙僧用户名自己修改自己的组
- 只能登陆root进行修改
- 改变用户所在组:usermod -g 组名 用户名
- 登陆root用户输入usermod -g yg ss
- 利用 id 用户名,查看发现已经在妖怪组了
- 修改了所在组之后,需要及时重新登陆沙僧用户,才能进得去妖怪组
- 让沙僧 修改 该文件 monkey, 加入一句话:“我是沙僧,我是妖怪”
- 进入文件 vim monkey.java
- 输入 i 进入编辑模式
- 输入内容:我是沙僧,我是妖怪
- 按 ESC 退出编辑模式,输入 :wq! 进行保存
五十、权限管理应用实例3
- 对文件夹 rwx 的细节讨论和测试
- x:表示可以进入到该目录,比如 cd
- r:表示可以ls,将目录的内容显示
- w:表示可以在该目录,删除或创建文件
五十二、crond快速入门
crond 任务调度
crontab 进行 定时任务的设置,
- 概述
- 任务调度:是指系统在某个时间执行的特定的命令或者程序
- 任务调度分类:系统工作:有些重要的工作必须周而复始的执行,如病毒扫描等个别用户工作,哥别用户可能希望执行某些程序,比如对mysql数据库的备份
- 基本语法
- crontab [选项]
-
快速入门
-
设置任务调度文件:/etc/crontab
-
设置个人任务调度,执行 crontab -e命令
-
接着输入任务到调度文件
-
如:*/1 * * * * ls -l / etc/ > /tmp/to.txt命令,意思说每个小时的每分钟执行 ls -l /etc/ > /tmp/to.txt命令
-
参数细节说明
-
5个占位符的说明
-
-
首先输入 crontab -e 回车
-
按 i 进入编辑模式,输入 */1 * * * * ls -l /etc/ > /tmp/to.txt
-
然后ESC退出编辑模式,输入:wq!保存,创建成功会有 installing new crontab 的提示
-
cd /tmp/ 进入 tmp 目录然后 ls 进行查看,用 ll 命令进行查看
-
会发现目录中有一个 to.txt 文件,是在一分钟前生成的
-
-
-
五十三、crond时间规则
crond 任务调度
特殊符号说明
特定事件执行任务案例
五十四、crond应用实例
crond 任务调度
- 应用实例
- 案例1:每隔一分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
- */1 * * * * date >> /tmp/mydate
- 案例2:每隔一分钟,就将当前日期和日历都追加到 /home/mycal 文件中
- 写一个脚本文件 vim /home/my.sh 写入内容
- 按 i 进入编辑模式,输入内容完成后,按ESC然后输入:wq! 进行保存
- 案例3:每天凌晨2:00,将mysql数据库 testdb, 备份到文件中,
- 提示:指令为 mysqldump -u root -p 密码 数据库 >> /home/db.bak
- 案例1:每隔一分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
-
crond 相关指令
- conrtab -r :终止任务调度
- crontab -l:列出当前有哪些任务调度
- service crond restart [重启任务调度]