美文网首页
Linux学习(三)——用户账户和组账户

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

作者: 风之旅人c | 来源:发表于2020-04-13 10:04 被阅读0次

    用户账户和组账户

    用户账户管理

    • 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<n_uspw.txt
    • 其他的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学习(三)——用户账户和组账户

          本文链接:https://www.haomeiwen.com/subject/ymowmhtx.html