• 1.6 常用UNIX/Linux命令 -用户及权限管理类命令


    用户权限管理类命令


    1. 用户及权限管理类命令:

    • 用户管理类命令:
      useradd usermod passwd userdel su id whoami w finger
    • 用户组管理类命令:groupadd groupmod groupdel
    • 文件权限管理类命令:chmod chown chgrp

    2. 用户:

    • Linux用户分为三类
      • 超级用户:拥有最高权限
      • 系统用户:与系统服务相关,但不能用于登录
      • 普通用户:由超级用户创建并赋予权限,只能操作其拥有权限的文件和目录,只能管理自己启动的进程

    3. 用户信息:

    • 用户名:唯一,由字母、数字和符号组成。
    • 口令
    • 用户ID(uid):每个用户拥有的唯一的识别号码。超级用户为0,系统用户1-499,普通用户从500开始
    • 用户组id(gid)
    • 用户主目录
    • 全称:用户帐户的附加信息,可以为空
    • 登录Shell:默认使用Bash

    4. 与用户相关的文件

    • 用户账号信息文件/etc/password
      • 文件中每一行为一个用户的信息
      • 文件中各字段从左到右依次为:用户名、口令、用户ID、用户组、全称、用户主目录和登录Shell。
      • 口令字段用x来填充,加密后的口令保存在/etc/shadow
        文件中。
    • 用户口令信息文件/etc/shadow
      • shadow文件只能用超级用户才能查看并修改是其内容,且加密储存

    5. 用户组:

    • Linux将相同特性的用户划归为同一用户组,可以大大简化用户的管理,方便用户之间文件的共享,任何用户都至少属于一个用户组。
    • 一个用户只能属于一个用户组,但可以同时属于多个附加组。用户不仅拥有其用户组的权限,还同时拥有其附加组的权限。
    • 用户组包括系统用户组与私人用户组

    6. 与用户组相关的文件

    • 用户组账号信息文件/etc/group
      • 每一行为一个用户组信息
      • 文件中各字段从左到右依次为:用户组名、口令、用户组ID和附加用户列表。
    • 用户组口令信息文件/etc/gshadow
      • 同/etc/shadow

    7. 用户管理命令:

    • useradd

      • 功能:新建用户帐号(超级用户可用)
      • 格式:useradd [参数] <用户名>
        • -d(directory) 指定用户登入时的主目录
        • -e(end) 账号终止日期
        • -g(group) 指定账户所属的用户组
        • -G 指定账户所属的附加组
        • -s(shell) 指定账户登录后所使用的shell
        • -u(userid) 指定用户ID号
      • 举例:新建一个用户zhangsan,用户组为net04
        useradd -g net04 zhangsan
    • passwd

      • 功能:设置或修改用户的口令以及口令的属性
      • 格式:passwd [参数] <用户>
        • -d(delete) 删除用户的口令
        • -l(lock) 暂时锁定指定的用户帐号
        • -u(unlock) 解除指定用户帐号的锁定
        • -s(show) 显示指定用户帐号的状态
      • 举例:
        • 设置与修改属性:
          passwd zhangsan
        • 删除口令:
          passwd -d zhangsan
        • 锁定/解锁用户账号:
          passwd -l zhangsan
          passwd -u zhangsan
        • 显示用户账号状态:
          passwd -s= zhangsan
    • usermod

      • 功能:修改用户的属性(超级用户可用)
      • 格式:usermod [参数] <用户名>
        • -d 指定用户登入时的主目录
        • -e 账号终止日期
        • -g 指定账户所属的用户组
        • -G 指定账户所属的附加组
        • -s 指定账户登录后所使用的shell
        • -u 指定用户ID号
        • -l 新用户名(用于修改用户名)
      • 举例:将zhangsan修改位zhangs
        usermod - l zhangs zhangsan
    • userdel

      • 功能:删除指定用户账户(超级用户可用)
      • 格式:userdel [参数] <用户名>
        • -r:不仅删除此用户帐号,而且删除用户主目录及本地邮件存储的目录或文件
        • -f:删除用户登入目录以及目录中所有文件
      • 如果删除用户属于私人组群,而该组群没有其他用户,组群也一并删除。
      • 正在使用系统的用户不能删除
    • su

      • 功能:切换用户身份
      • 格式:su <用户名>
        • 超级用户可以切换为任何普通用户,而不需要输入口令;普通用户转换为其他用户时需要输入被转换用户的口令
        • 使用exit可以返回到本来的用户身份;
    • id

      • 功能:查看用户的UID、GID和用户所属用户组的信息,如果不指定用户,
        则显示当前用户的相关信息。
      • 格式:id <用户名>
    • whoami

      • 功能:查看当前用户名
    • w

      • 功能:查看当前登录系统用户和详细信息

    8. 用户组管理命令:

    • groupadd
      • 功能:新建组群(超级用户可用)
      • 格式:groupadd [参数] <用户组名>
        • -g:指定用户组ID
        • -o:允许组ID号不唯一
    • groupmod
      • 功能:修改指定用户组的属性(超级用户可用)
      • 格式:groupmod [参数] <用户组名>
        • -g:指定新的用户组ID
        • -n:指定新的用户组名字
        • -o: 允许组ID号不唯一
    • groupdel
      • 功能:删除指定的用户组(超级用户可用)
      • 格式:groupdel <用户组名>
      • 注意:在删除指定用户组之前必须保证该用户组不是任何用户的主要组群,否则要先删除以此用户组为主要组群的用户才可以删除该用户组

    9. 文件权限:

    • 读取权限:浏览文件/目录中内容的权限;
    • 写入权限
      • 对文件而言是修改文件内容的权限
      • 对目录而言是删除、添加和重命名目录内文件的权限;
    • 执行权限
      • 对可执行文件而言是允许执行的权限
      • 对目录而言是进入目录的权限。

    10. 基于用户的文件权限管理:

    • 文件用户分类

      • 文件所有者:建立文件和目录的用户;
      • 文件所有者所在组用户:文件所有者所属用户组中的其他用户;
      • 其他用户:既不是文件所有者,又不是文件所有组所在组的其他所有用户。
      • 超级用户:负责整个系统的管理和维护,拥有系统中所有文件的全部访问权限
    • 字母表示法


    11. 修改文件权限的chmod命令

    • 功能:修改文件的访问权限
    • 格式:chmod <模式> <文件>
      • 模式:
        • 对象:u 文件所有者 、g 同组用户、o 其他用户
        • 操作符:+增加、-删除、=赋予
        • 权限:r 读、w 写、x 执行、s设置用户ID
    • 举例
      • 取消同组用户对file文件的写入权限
        chmod g-w file
      • 将pict目录的访问权限设置为775
        chmod 775 pict
      • 设置file文件的设置用户ID位
        chmod u+s file

    12. 修改文件所有者的chown命令

    • 功能:将指定文件的拥有者改为指定的用户或用户组
    • 格式:chown [选项] <所有者/组> <文件>...
      • -c 显示更改的部分的信息
      • -f 忽略错误信息
      • -h 修复符号链接
      • -R 处理指定目录以及其子目录下的所有文件
      • -v 显示详细的处理信息
      • -deference 作用于符号链接的指向,而不是链接文件本身
      • 用户是用户名或者用户ID,用户组可以是组名或者组ID
      • 文件是以空格分开的要改变权限的文件列表,支持通配符
    • 举例:将ex1的所有者由root 改为hellen
      • chown hellen ex1

    13. 修改文件所属用户组的chgrp命令

    • 功能:改变文件的所属用户组
    • 格式:chgrp [选项] <组> <文件>
      • -c 当发生改变时输出调试信息
      • -f 不显示错误信息
      • -R 处理指定目录以及其子目录下的所有文件
      • -v 运行时显示详细的处理信息
      • --dereference 作用于符号链接的指向,而不是符号链接本身
      • --no-dereference 作用于符号链接本身
      • 用户组可以是组名或者组ID
    • 举例:将ex1文件所属的用户组由root改为staff
      • chgrp staff ex1
  • 相关阅读:
    最近忙于开发移动OA审批
    开发一个小软件
    VMWare上虚拟机访问宿主机需要注意的一个问题
    Visual Studio 中自带的电子邮件的正则表达式匹配中文的问题 与 \w
    开始应用设计模式
    jQuery与ASP.NET AJAX有冲突吗?
    有感于VMWare
    kvm 母镜像
    相关流程
    master事件处理
  • 原文地址:https://www.cnblogs.com/DengSchoo/p/12640674.html
Copyright © 2020-2023  润新知