韩顺平Linux 四十四--

四十四、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
  • rwx 作用到文件

  1. [ r ] 代表可读(read):可以读取,查看
  2. [ w ] 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录有写权限,才能删除该文件
  3. [ x ] 代表可执行(execute): 可以被执行
  • rwx 作用到目录

  1. [ r ] 代表可读(read):可以读取,ls 查看目录内容
  2. [ w ] 代表可写(write): 可以修改,对目录内创建+删除+重命名目录
  3. [ 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            文件名

四十六、修改权限

  • 基本说明
    • 通过 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

四十七、修改文件所有者和所在组

修改文件所有者-chown

  • 基本介绍
    • chown newowner 文件/目录  改变所有者
    • chown newowner:newgroup  文件/目录  改变所有者所在组
    • -R  如果是目录  则使其下所有子文件或目录递归生效
  • 案例演示
    • 请将 /home/abc.txt 文件的所有者修改成 tom
      • chown tom /home/abc.txt
    • 请将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
      • chown -R tom /home/test

修改文件/目录所在组-chagrp

  • 基本介绍
    • chgrp newgroup 文件/目录  改变所在组
  • 案例演示
    • 请将 /home/abc.txt 文件的所在组修改成 shaolin
      • groupadd shaolin
      • chgrp shaolin /home/abc.txt
    • 请将 /home/test 目录下的所有文件和目录都修改成 shaolin
      • chgrp -R shaolin /home/test

四十八、权限管理应用实例1

最佳实践-警察和土匪游戏

police,bandit

jack,jerry:警察

xh,xq:土匪

  1. 创建组
    1. groupadd polic;
    2. groupadd bandit
  2. 创建用户
    1. useradd -g polic jack;
    2. useradd -g polic jerry;
    3. useradd -g bandit xh;
    4. useradd -g bandit xq;
  3. jack 创建一个文件,自己可以读r写w,本组人可以读,其他组没任何权限
    1. 首先用 jack 登录,创建文件vim jack.txt
    2. 进入后按 i  进入编辑模式,输入内容 hello 然后 ESC , 再输入 :wq! 进行保存
  4. jack 修改该文件,让其他组人可以读,本组人可以读写
    1. chmod o=r,g=r jack.txt
  5. xh 投靠警察,看看是否可以读写
    1. usermod -g polic xh
    2. 先登录权限较大的 root 用户,再进行修改
  6. 测试:看看 xh 是否可以读写
    1. 结论:如果要对目录内的文件进行操作,需要要有对该目录的相应权限

四十九、权限管理应用实例2

  1. 建立两个组(神仙(sx),妖怪(yg))
    1. groupadd sx
    2. groupadd yg
  2. 建立四个用户(唐僧,悟空,八戒,沙僧)
    1. useradd ts
    2. useradd wk
    3. useradd bj
    4. useradd ss
  3. 设置密码
    1. passwd ts
      1. 设置密码123
    2. passwd wk
      1. 设置密码123
    3. passwd bj
      1. 设置密码 123
    4. passwd ss
      1. 设置密码 123
  4. 把悟空,八戒放入妖怪,唐僧,沙僧放在神仙
    1. 改变用户所在组:usermod -g 组名 用户名
    2. usermod -g yg wk
    3. usermod -g yg bj
    4. usermod -g sx ts
    5. usermod -g sx ss
  5. 用悟空建立一个文件(monkey.java 该文件要输出 i am monkey)
    1. 先用悟空用户登录
    2. pwd 查看绝对路径
    3. vim monkey.java 创建文件
    4. 按 i 进入编辑模式,输入内容 i am monkey ,
    5. 按ESC退出编辑模式,输入 :wq! 保存
  6. 给八戒一个可以 r w 的权限
    1. 八戒和悟空是在同一组 yg 里面的,上面的 ll 可以看出组已经有了 read 的权限,所以再加一个 写 的权限就可以了
    2. 给文件所在组增加写的权限 :chmod g+w monkey.java
  7. 八戒修改 monkey.java 加入一句话(i am pig)
    1. 先登录八戒用户名,pwd查看绝对路径
    2. cd /home/wk 进入悟空的目录,权限不够
    3. 对于妖怪所在组,wk没有给其他组成员任何的权限
    4. 通过wk 给组内的其他成员增加 读写执行 的权限
      1. chmod g+r+w+x wk
      2. 现在跟 wk 同组的组员对 yg 这个组都具有 读和写 的权限了
      3. 登录八戒的用户名,现在有权限进入悟空的目录
      4. cd /home/wk
      5. 进入文件进行编辑 vim monkey.java
      6. 按 i 进入编辑模式,输入输入内容 i am pig ,按 ESC 退出编辑模式,输入 :wq!进行保存
  8. 唐僧 沙僧 对该文件没有权限
  9. 把沙僧放入妖怪组
    1. 不能登录沙僧用户名自己修改自己的组
    2. 只能登陆root进行修改
    3. 改变用户所在组:usermod -g 组名 用户名
    4. 登陆root用户输入usermod -g yg ss
    5. 利用 id 用户名,查看发现已经在妖怪组了
    6. 修改了所在组之后,需要及时重新登陆沙僧用户,才能进得去妖怪组
  10. 让沙僧 修改 该文件 monkey, 加入一句话:“我是沙僧,我是妖怪”
    1. 进入文件 vim monkey.java
    2. 输入 i  进入编辑模式
    3. 输入内容:我是沙僧,我是妖怪
    4. 按 ESC 退出编辑模式,输入 :wq! 进行保存

五十、权限管理应用实例3

  1. 对文件夹 rwx 的细节讨论和测试
    1. x:表示可以进入到该目录,比如 cd
    2. r:表示可以ls,将目录的内容显示
    3. 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
  • crond 相关指令

    • conrtab -r :终止任务调度
    • crontab -l:列出当前有哪些任务调度
    • service crond restart  [重启任务调度]

猜你喜欢

转载自blog.csdn.net/z972065491/article/details/132360546
今日推荐