linux_韩老师_40-51

组介绍 #

  • 每个用户必定属于某个组
  • 每个文件有几个概念:所有者、所在组、其他组 tom创建了hello.txt,则所有者为tom,默认所在组为tom组 除了所在组,就是其他组
  • ls -ahl (h更友好,a隐藏,l列表)

所有者 #

  • 使用chown root helo.java 修改,效果如下 ly-20241212142138913

所在组修改 #

  • 组的创建 groupadd monster
  • 创建一个用户并让他属于该组 useradd -g monster fox
  • 注意逻辑,此时使用fox创建文件 passwd fox 给fox创建密码
  • 如图,创建一个文件 ly-20241212142139110
  • 使用chgrp fruit orange.txt 修改文件的所在组 ly-20241212142139179
  • 改变某个用户所在组 usermod -g fruit fox ly-20241212142139244
  • 使用 cat /etc/group 查看所有的组
  • 当一个用户属于多个组的时候,groups会出现多个组名

rwx权限 #

rwxrwxrwx 第一列有十位,第0位确认文件类型 -普通文件,l是链接;d是目录;c是字符设备文件、鼠标、键盘;b块设备 1-3表示文件所有者拥有的权限;4-6是文件所在组所拥有的权限,7-9 其他组所拥有的权限

  • rwx作用到文件,r代表可读可查看,w代表可修改(如果是删除权限,则必须在该文件所在的目录有写权限,才能删除),x代表可执行
  • rwx作用到目录,r表示可以读取(ls可查看目录内容),w表示可写(可以在目录内创建、删除、重命名目录),x表示可以进入该目录
  • rwx分别用数字表示,4,2,1。当拥有所有权限,则为7
  • ly-20241212142139311
    • 最后面的数字,代表连接数(或者子目录数)
    • 1213 文件大小(字节),如果是文件夹则显示4096
    • 最后abc表示文件名,蓝色表示是目录

修改权限 #

  • chmod 修改权限,u:所有者,g:所有组,o:其他人,a 所有(ugo总和)
  • chmod u=rwx,g=rw,o=x 文件/目录名 这里等号表示直接给权限
  • chmod o+w 文件/目录名 这里加表示+权限
  • chmod a-x 文件/目录名
  • chmod u=rwx,g=rx,o=rx abc 给文件添加执行权限(会变成绿色的)
  • 使用数字
    • 将abc.txt文件权限修改成rwxr-xr-x使用数字实现 chmod 755 abc

修改所有者和所在组 #

  • chown tom abc #修改文件所有者为tom
  • chown -R tom abc #修改文件夹及其所有子目录所有者为tom
  • chgrp -R fruit kkk #修改文件夹所在组为fruit

权限管理应用实例 #

  • 警察和土匪的游戏

    前提,有police和bandit两个组,

    jack,jerry属于警察组

    xh,xq属于土匪组

    • groupadd police
      groupadd bandit
      useradd -g police jack
      useradd -g police jerry
      useradd -g bandit xh
      useradd -g bandit xq
      
  • chmod 640 jack.txt

  • chmod o=r,g=rw jack.txt

  • 如果要对目录内操作,那么先有改目录相应权限

    • chmod 770 jack 放开jack目录权限

题目 ly-20241212142139376

对一个目录不能ls(没有读权限),但是是可以直接读写目录中的文件的(有权限的情况下)

#