Linux学习(三)——用户账户和组账户

用户账户和组账户

用户账户管理

  • Linux使用用户权限机制对系统进行管理。
  • 主要功能:提供不同用户使用本系统的权限分配。
  • 目的:Linux系统中每个登录的成员都要有一个用户账号;用户名、口令验证正确时,用户才被允许进入Linux系统。
  • 账号实质:是一个用户在系统上的标识,系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境。

用户账户分类

超级用户root

  • 每个Linux系统都必须有,并且只有一个。
  • 拥有最高的权限,可以删除、中止任何程序。

系统用户

  • 与系统运行和系统提供的服务密切相关的用户。
  • 通常在安装相关的软件包时自动创建并保持默认状态。
  • 系统用户不能登录计算机。

普通用户

  • 在系统安装后由超级用户创建。
  • 通常完成指定权限的操作,而且也只能操作自己所拥有权限的文件和目录。

用户管理文件

  • 用户账户文件 /etc/passwd
    • 存储用户账户信息
    • 文件组成
      • 用户名:在系统中是唯一的,可由字母、数字和符号组成。
      • 口令:此字段用“x”代替,而将口令保存在/etc/shadow文件中。
      • 用户ID (UID):系统内部用它来标识用户且唯一。
        • 超级用户:UID=0,GID=0
        • 普通用户:UID≥1000
        • 系统用户:0<UID<1000
      • 组ID (GID):系统内部用它来标识组属性。
      • 用户相关信息:例如用户全名等。
      • 用户主目录:用户登录系统后所进入的目录。
      • 用户登录环境:用户第一次登录Shell环境。
  • 用户影子文件 /etc/shadow
    • 存储关于账户口令相关设置
    • 只有root才有权限修改,普通用户无法读取。
    • 文件组成
      • 用户名:用户登录到系统时使用的名字,而且是惟一的。
      • 口令:存放MD5加密过的口令。
        • 若为空,不需要口令即可登录。
        • 若为!!,表示该用户从来没有设置过密码,不能登录系统。
        • 若为*,表示该帐号被禁用。
        • 若为!!MD5密码,则表示用户密码被passwd –l命令锁住。
        • 若为!MD5密码,则表示用户密码被usermod –L命令锁住。
      • 标识从1970年1月1日到用户最近一次修改口令所经过的天数。
      • 口令保持有效的最小天数,即口令在多少天内不能被用户修改。
      • 口令在多少天后需要被修改。
      • 口令到期前多少天内给用户发出警告。
      • 口令过期多少天后口令失效。
      • 帐号失效日。
      • 保留域。

用户管理命令

Linux管理员管理用户帐号时主要完成三种基本工作,即合理、有效、安全地新建、删除和管理用户。本节着重讲述命令行的shell操作。

  • useradd命令
    • 格式: useradd [选项] <用户名>
    • -u 用户ID 指定用户UID
    • -g 组ID或组名 指定新用户的主组
    • -G 组ID或组名 指定新用户的附加组
    • -d 主目录 指定新用户的主目录
    • -s 登录shell 指定新用户使用的shell,默认为/bin/bash
    • -e 有效期限 指定用户的登录失效时间,例如:11/30/2012
    • -f 缓冲天数:设置在密码过期后多少天关闭该帐号
    • -c 备注 为账户加上备注
    • -m 默认主目录 自动创建与用户名同名目录
    • -n 取消建立以用户名称为名的组
    • -r 建立系统帐号
    • 由于新增加的用户还未设置密码,因此还不能使用该用户的帐号登录系统。
  • passwd命令
    • 格式: passwd [选项] [用户名]
    • -d (delete)删除用户的口令,则该用户账号无需口令即可登录。
    • -l (lock) 锁住口令。
    • -u (unlock) 恢复禁用用户账号。
    • -S (status) 显示指定用户账号的状态
    • 系统管理员可以设置所有用户的密码,普通用户只能修改自己的密码。
  • usermod命令
    • 格式:usermod [选项] <用户名>
    • 修改用户的属性信息,只有超级用户才可以使用该命令。
    • -g 组ID或组名 指定新用户的主组
    • -G 组ID或组名 指定新用户的附加组
    • -d 主目录 指定新用户的主目录
    • -s 登录shell 指定新用户使用的shell,默认为bash
    • -e 有效期限 指定用户的登录失效时间
    • -u 用户ID 指定用户UID
    • -c 全名 指定用户全称
    • -f 缓冲天数 指定口令过期后多久将关闭此账号
    • -l 用户名 指定用户的新名称
    • -L 用户名 锁定用户密码,使密码无效
    • -U 用户名 解除密码锁定。
    • usermod命令与useradd命令的区别在usermod命令可以修改用户名且在禁用和恢复账号功能上,命令usermod不等同于 passwd。
  • userdel命令
    • 格式:userdel [选项] <用户名>
    • 删除指定的用户账号,只有超级用户才能使用该命令。
    • -r 用于删除用户的Home目录和邮件
    • -f 强制删除用户登录目录及目录中的所有文件
    • 正在使用系统的用户不能被删除,必须先终 止该用户的所有进程才能删除该用户。
  • 成批添加用户:newusers
    1. 第一步:先建立文本文件:n_user.txt
    201200824101:student:701:701:lining:/home/201200824101:/bin/bash
    201200824102:student:702:702:chenmeng:/home/201200824102:/bin/bash
    
    1. 执行命令newusers n_user.txt
  • 成批修改口令:chpasswd
    1. 第一步:先建立文本文件:n_uspw.txt
    201200824101:824101
    201200824102:824102
    
    1. 执行命令chpasswd
  • 其他的shell命令
    • id命令
      • 格式:id [选项] [用户名]
      • 查看一个用户的UID和GID
      • -g 显示用户的主组的GID
      • -G 显示用户所有组的GID
      • -u 只显示UID
    • whoami命令
      • 格式:whoami
      • 用于显示当前用户的名称。
    • su命令
      • 格式:su [-] [用户名]
      • 转换当前用户到指定的用户账号。

组账户管理

  • 组是具有相同特性的用户集合。
  • 便于权限的统一组织和分配。
  • 组账户不能登录计算机。

组账户分类

  • 系统组
    • 安装Linux及部分服性程序时系统自动设置的组。
  • 私有组
    • 系统安装完成后,由超级用户新建的

组账户管理文件

  • 组账户文件
    • /etc/group
    • 组账户文件组成
      • 组名:用户登录时所在的组名称环境。
      • 组口令:默认情况下不使用,必须经过特殊设置。
      • 组ID(GID):识别不同组的唯一标识
      • 组内用户列表:属于该组的所有用户名列表,用“,”间隔。
  • 组影子文件
    • /etc/gshadow
    • 组名,组口令,组管理员,组内用户列表。

组管理命令

  • groupadd命令
    • 格式: groupadd [参数] <组账号名>
    • 功能:新建组群,只有超级用户才能使用此命令。该指令的执行将在/etc/group文件和/etc/gshadow文件中分别增加一行记录。
    • -r:用于创建系统组账号(GID小于1000 )
    • -g:用于指定GID
  • groupmod 命令
    • 格式:groupmod [参数] <组账号名>
    • 功能:修改指定组群,只有超级用户才能使用此命令。该指令的执行将修改 /etc/group文件相应记录的内容。
    • -g:改变组账号的GID ,组账号名保持不变。
    • -n:改变组账号名。
  • groupdel命令
    • 格式:groupdel <组账号名>
    • 功能:删除指定组群,只有超级用户才能使用此命令。
    • 被删除的组账号必须存在;当有用户使用组账号作为私有组时不能删除;与用户名同名的私有组账号在使用userdel命令删除用户时被同时删除。

你可能感兴趣的:(Linux学习(三)——用户账户和组账户)