004 【linux 学习】用户权限命令

权限说明:

    • 英文:read
    • 缩写:r
      -数字代号:4
    • 英文:write
    • 缩写:w
    • 数字代号:2
  • 执行
    • 英文:excute
    • 缩写:x
    • 数字代号:1

用户与组:

  • 用户:用户 是 Linux 系统工作中重要的一环,用户管理包括 用户权限 管理
  • 组:将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

ls -lh 扩展:

  • ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:
    • 权限,第 1 个字符如果是 d 表示目录
    • 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件
    • 拥有者,家目录下 文件/目录 的拥有者通常都是当前用户
    • 组,在 Linux 中,很多时候,会出现组名和用户名相同的情况,后续会讲
    • 大小
    • 时间
    • 名称
  • 目录以及文件对应权限


    目录文件权限对应

修改权限 chmod

  • 命令:chmod +/-rwx 文件名|目录名
  • 作用:chmod 可以修改 用户/组文件/目录 的权限【一次性修改 拥有者 / 组 权限】

组管理 终端命令

  • 四个命令:

    • groupadd 组名:添加组
    • groupdel 组名:删除组
    • cat /etc/group:确认组信息
    • chgrp -R 组名 文件/目录名:递归修改文件/目录的所属组
  • 实例:

    • 在 python 用户的桌面文件夹下创建 Python学习 目录

      mkdir python学习
      
    • 新建 dev 组

      groupadd dev
      
    • 将 Python学习 目录的组修改为 dev

      chgrp -R dev python学习
      

用户管理 终端命令

创建用户/设置密码/删除用户

  • 三个命令:
    • 创建用户:
      • 命令:useradd -m -g 组 新建用户名
      • 说明:
        • -m:自动建立用户家目录
        • -g:指定用户所在的组,否则会建立一个和同名的组
    • 设置密码:
      • 命令:passwd 用户名
      • 说明:如果是普通用户,直接用 passwd 可以修改自己的账户密码
    • 删除用户:
      • 命令:userdel -r 用户名
      • 说明:-r 选项会自动删除用户家目录
    • 确认用户信息:
      • 命令:cat /etc/passwd | grep 用户名
      • 说明:新建用户后,用户信息会保存在 /etc/passwd 文件中
  • 说明:
    • 创建用户时,如果忘记添加 -m 选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建
    • 创建用户时,默认会创建一个和用户名同名的组名
    • 用户信息保存在 /etc/passwd 文件中

查看用户信息

  • 三个命令:
    • id [用户名]:查看用户 UID 和 GID 信息
    • who:查看当前所有登录的用户列表
    • whoami:查看当前登录用户的账户名
  • passwd文件介绍:【由一下7个信息组成】
      1. 用户名
      1. 密码(x,表示加密的密码)
      1. UID(用户标识)
      1. GID(组标识)
      1. 用户全名或本地帐号
      1. 家目录
      1. 登录使用的 Shell,就是登录之后,使用的终端命令,ubuntu 默认是 dash
  • usermod 命令:usermod 可以用来设置 用户主组 / 附加组登录 Shell
    • 主组与附加组定义:
      • 主组:通常在新建用户时指定,在 etc/passwd 的第 4 列 GID 对应的组
      • 附加组:在 etc/group 中最后一列表示该组的用户列表,用于指定 用户的附加权限
    • usermod 实例:
      • 修改用户的主组(passwd 中的 GID)

         usermod -g 组 用户名
        
      • 修改用户的附加组

         usermod -G 组 用户名
        
      • 修改用户登录 Shell

        usermod -s /bin/bash 用户名
        
      • 将用户添加到 sudo 附加组中

        usermod -G sudo 用户名
        

确定文件位置 which

  • 说明:

    • /etc/passwd 是用于保存用户信息的文件
    • /usr/bin/passwd 是用于修改用户密码的程序
  • 实例:

    which ls
    
    # 输出
    # /bin/ls
    
    which useradd
    
    # 输出
    # /usr/sbin/useradd
    

科普 bin 和 sbin

  • 在 Linux 中,绝大多数可执行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin
  • /bin(binary)是二进制执行文件目录,主要用于具体应用
  • /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/bin(user commands for applications)后期安装的一些软件
  • /usr/sbin(super user commands for applications)超级用户的一些管理程序

切换用户 su

  • 两个命令:
    • su - 用户名
      • 作用:切换用户,并且切换目录
      • 说明:- 可以切换到用户家目录,否则保持位置不变
    • exit:
      • 作用:退出当前登录账户
  • 说明:
    • su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全

修改文件权限:

  • 三个命令:

    • chown:修改拥有者
    • chgrp:修改组
    • chmod:修改权限
  • 实例:

    • 修改文件|目录的拥有者

      chown 用户名 文件名|目录名
      
    • 递归修改文件|目录的组

      chgrp -R 组名 文件名|目录名
      
    • 递归修改文件权限

       chmod -R 755 文件名|目录名
      
  • 说明:chmod 在设置权限时,可以简单地使用三个数字分别对应 拥有者 / 组其他 用户的权限

    • 实例:

      • 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他

        chmod +/-rwx 文件名|目录名
        
    • 常见的数字组合:【u表示用户/g表示组/o表示其他】

      • 777 ===> u=rwx, g=rwx, o=rwx
      • 755 ===> u=rwx, g=rx, o=rx
      • 644 ===> u=rw, g=r, o=r
    • 实例:

      • 将 01.py 的权限修改为 u=rwx,g=rx,o=r

        chmod 754 01.py
        
      • 将 123.txt 的权限修改为 u=rw,g=r,o=-

        chmod 640 123.txt
        
      • 将 test 目录以及目录下的 所有 文件权限修改为 u=rwx,g=rwx,o=rx

        chmod -R 775 test
        
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。