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
posted @ 2020-04-06 09:38  DengSchoo  阅读(689)  评论(0编辑  收藏  举报