Linux-A-基础-第4章-用户及权限基础


目录(持续更新)


基础-第0章-安装
基础-第1章-基本操作
基础-第2章-磁盘及文件系统管理
基础-第3章-获得帮助
基础-第4章-用户及权限基础
基础-第5章-网络基本配置
基础-第6章-管道,重定向及文本处理
基础-第7章-系统启动详解

进阶-第1章-日志服务
进阶-第2章-DNS域名服务器
进阶-第3章-FTP文件共享服务
进阶-第4章-NFS文件共享服务
进阶-第5章-SMB文件共享服务
进阶-第6章-WEB服务Apache篇
进阶-第7章-电子邮件服务
进阶-第8章-Linux服务基础及管理

高级-第1章-LVM逻辑卷
高级-第2章-高级权限ACL
高级-第3章-RAID提升速度及冗余
高级-第4章-高级网络-网卡绑定,子端口
高级-第5章-SELinux安全系统基础
高级-第6章-IPTable防火墙基础
高级-第7章-Linux远程管理-SSH、VNC


第4章 用户及权限基础


第一节 linux用户基础
  • 用户,组

    当我们用linux是需要一个用户的身份登入,
    一个进程也需要一个用户的身份运行,
    希望根据用户来限制使用或者进程可使用的资源

  • 组用来方便组织管理用户

      每个用户拥有一个userID,操作系统实际使用的是用户ID,而非用户名
      每个用户属于一个主组,属于一个或多个附属组
      每个组拥有一个GroupID
      每个进程以一个用户身份运行,并受到该用户可访问的资源限制
      每个可登陆用户拥有一个指定的shell
    
  • 用户

      用户ID为32位  从0开始,但是为了和老系统兼容 ID限制在60000一下
      root用户(ID为0的用户就是root用户)
      系统用户(1~499)为了进程服务创建的   没有shell 
      普通用户(500个以上)
      
      系统中的文件都有一个所属用户及所属组
      使用id命令可以显示当前用户的信息
      使用passwd命令可以显示当前用户的信息
    
  • 相关文件

      /etc/passwd 保存用户信息
      /etc/shadow 保存用户密码,加密的
      /etc/group  保存组信息
    
      passwd文件中
          7个部分每个都用:隔开
          第一个是用户名
          第二个是密码x 表示保存在shadow当中
          第三个是用户ID号
          第四个是组ID
          第五个是用户的描述信息  可能为空
          第六个是用户家目录信息
          第七个是用户登录的shell   1-499用户使用sbin中的nologing
    
      shadow文件中
          每个部分都用:隔开
          第一个是用户名
          第二个是密码 !!为用户没有创建密码   或加密后密码 $ 分割 加密类型  加密加入
          
      group文件中
          每个部分都用:隔开
          第一个是用户名
          第二个是组密码  早期换组用 
          第三个是用户ID号
    
  • 查看登录的用户

      命令whoami显示当前用户
      命令who显示有哪些用户已经登录系统
      命令w显示有哪些用户已经登录并且在干什么
    
  • 创建一个用户

      命令useradd用来创建用户
    
          useradd 用户名
    
      这个命令会执行以下操作
    
          在/etc/passwd中添加用户信息
          如果使用passwd命令创建密码 则将密码加密保存在/etc/shadow
          为用户建立一个新的家目录/home/用户名
          将/etc/skel中的文件复制到家目录
          建立一个与用户用户名相同的组 并且新建用户默认属于这个组
      
      useradd支持的参数
    
          -d  指定家目录
          -s  登录shell
          -u  userID
          -g  主族
          -G  附属组(最多31个,用“,”分割)
          
      也可以通过直接修改/etc/passwd的方式实现,
    
  • 修改用户信息

      命令usermod用来修改用户信息
    
          usermod 参数 username
      
      命令usermod支持一下参数
      
          -l  新用户名
          -u  新userid
          -d  用户家目录位置
          -g  用户所属主组
          -G  用户所属附属组
          -L  锁定用户使其不能登录
          -U  解锁用户
    
  • 删除用户

      命令userdel用来删除指定用户
    
          userdel 用户名     但保留用户家目录
    
          userdel -r 用户名  同时删除用户的家目录
    

  • 用过部门职能和地理创建组

          每个组都有一个ID
          组信息保存在/etc/group
          每个用户有一个主组  最多可以有31个附属组
    
  • 创建删除修改组

      命令groupadd用来创建组
    
          groupadd 组名
    
      命令groupmod用来修改组信息
    
          groupmod -n 新组名 旧组名
      
          groupmod -g 新组ID 旧组ID
    
      命令groupdel用以删除组
    
          groupdel 组名
    

第二节 linux权限机制
  • 权限

    权限是操作系统用来限制对资源访问的机制,权限一般分为 读 写 执行
    每个文件都拥有特定的权限 有所属用户和组
    每个进程都是以用户身份来运行

  • linux三种权限

      读r  可读取文件的内容    可可列出目录内容
    
      写w  可以修改文件内容    可在目录中创建删除文件
    
      执行x 可以作为命令执行    可访问目录内容
    
      目录必须有X权限,否则无法查看其内容
    
  • UGO模型

      linux的权限基于UGO模型进行控制
    
          U代表User,G代表Group,O代表Other
    
          每个文件的权限基于UGO进行设置
      
          权限三个一组rwx,对应UGO分别设置
    
          每个文件拥有一个所属用户和所属组,对应UG,
          不属于该文件所属用户据或者所属组的使用O权限
      
      命令 ls -l 可以查看当前目录下文件的详细信息
    
          drwx-xr-- 2 sky testing 208 Oct 2 14:03 linux
    
          drwx-xr--   表示UGO
    
          2       表示连接数量
    
          sky     表示所属用户
    
          testing     表示所属组
    
          208     大小
      
          Oct 2 14:03     建立时间
    
          linux       文件名
    
          d为文件类型
    
          rwx 为U用户权限
          r-x 为G组权限
          r-- 为其他权限
    
  • 修改文件所属用户和组

      命令chown用来改变文件的所属用户
    
          chown 用户名 要修改的文件名
    
          -R 参数递归的修改目录下所有文件的所属用户
    
      命令chgrp用来改变文件的所属组
    
          chgrp 组名 要修改的文件名
    
          -R 参数递归的修改目录下所有文件的所属组
    
  • 修改权限

      命令chmod用来修改文件的权限
    
          chmod 模式 文件
    
      模式为如下格式:
    
          u g o 分别代表用户,组和其他
    
          a可以代指ugo
      
          + - 代表加入或者删除对应权限
    
          r w x 代表三种权限
    
      模式示例
    
          chmod u+rw linux    要修改所属用户权限 加入rw权限
    
          chmod g-x linux     为组删掉X权限
    
          chmod go+r linux    为组和其他加上r权限
    
          chmod a-x linux     为所有组删掉X权限
    
      -R可以递归修改目录下所有文件权限
    
      也可以用数字的方式修改权限
    
          r=4     2^2
          w=2 2^1
          x=1 2^0
      
      使用数字权限表示
      
          rw  = 4+2   = 6
          rwx     = 4+2+1 = 7
    
      所以以数字修改要三个都修改
    

第三节 linxu默认权限 特殊权限
  • 默认权限

      每个终端都有 umask 属性  来确定文件默认权限  umask可查看
    
      umask使用数字权限表示 (后三位)  如  022   777   
    
      目录的默认权限是    777 - umask
    
      文件的默认权限是    666-umask
    
      普通用户的默认umask是   002  
      
      root用户的默认umask是 022
    
  • 特殊权限

      umask的第一位
    
      三个特殊权限
    
      suid    以文件命令的所属用户身份执行  对目录无影响
          而非执行文件的用户
    
      sgid    以文件所属组身份执行      在该目录中创建的任意性文件所属组与该目录的所属组相同
                          所有子文件都继承目录的组
      
      sticky  对文件无影响          对目录拥有写入权限的用户仅可以删除其拥有的文件
                          无法删除其他用户文件
    
  • 设置特殊权限

      设置suid
    
          chmod u+s linux
    
      设置sgid
    
          chmod g+s linux
    
      设置sticky
    
          chmod o+t linux
    
      和普通权限一样,特殊权限也可以使用数字方式表示
    
          - SUID = 4
    
          - SGID = 2 
    
          - STICKY = 1 
    
      所以我们可以通过以下命令设置
    
          chmod 1755 linux
    

你可能感兴趣的:(Linux-A-基础-第4章-用户及权限基础)