用户账户和组账户
用户账户管理
- 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
- 第一步:先建立文本文件:n_user.txt
201200824101:student:701:701:lining:/home/201200824101:/bin/bash 201200824102:student:702:702:chenmeng:/home/201200824102:/bin/bash
- 执行命令newusers n_user.txt
- 成批修改口令:chpasswd
- 第一步:先建立文本文件:n_uspw.txt
201200824101:824101 201200824102:824102
- 执行命令chpasswd<n_uspw.txt
- 其他的shell命令
- id命令
- 格式:id [选项] [用户名]
- 查看一个用户的UID和GID
- -g 显示用户的主组的GID
- -G 显示用户所有组的GID
- -u 只显示UID
- whoami命令
- 格式:whoami
- 用于显示当前用户的名称。
- su命令
- 格式:su [-] [用户名]
- 转换当前用户到指定的用户账号。
- id命令
组账户管理
- 组是具有相同特性的用户集合。
- 便于权限的统一组织和分配。
- 组账户不能登录计算机。
组账户分类
- 系统组
- 安装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命令删除用户时被同时删除。
网友评论