Linux教程

Linux中用户及用户组的管理

本文主要是介绍Linux中用户及用户组的管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 前言
  • 用户和组的分类
  • 用户管理
    • 添加用户
    • 为用户账号设置密码
    • 修改用户属性
    • 删除用户
    • 切换用户
  • 用户组管理
    • 创建用户组
    • 添加/删除组成员
    • 修改组属性
    • 删除组
    • 用户和组账户的信息显示

前言

学习Linux的用户和组一定要关注其权限的不同,这在用户和组的管理中是至关重要的

用户和组的分类

Linux下的用户可以分为三类

  • 超级用户:用户名为root,具有一切权限(UID为0
  • 系统用户:系统用户又称伪用户,是Linux系统正常工作所必需的内建用户(UID为1 ~ 999
  • 普通用户:我们打大多数用户属于此类,它是为了使用Linux系统资源而建立的(UID >= 1000

Linux下的组有以下三种

  • 基本组:又称私有组,建立用户是若不指定所属组,系统会建立一个与用户名相同的组,即为基本组。
  • 附加组:又称共有组,可以容纳多个用户,其中用户具有组所拥有的权限
  • 系统组:系统用户所在的组

基本组只容纳一个用户,当把其他用户加入基本组,则其变为附加组

文件功能文件名称
用户帐号文件/etc/passwd
用户密码文件/etc/shadow
用户组账号文件/etc/group
用户组密码文件/etc/gshadow

用户管理

添加用户

命令格式:useradd [选项] <username>

选项作用
-c 注释信息设置相关说明(如:真实姓名、邮箱地址)
-d 目录指定用户家目录(默认为 /home/用户名
-e YYYY-MM-DD指定失效日期
-f 天数指定密码失效多少天后禁用(0则当天禁;-1则永不失效)
-g 组名或GID指定基本组(该组必须存在)
-G 组名或GID列表指定附加组(必须存在且用,隔开)
-M不创建家目录
-N不创建同名基本组
-p 密码指定密码(需手动加密)
-s shell名指定登陆后的shell(默认是 、bin/bash
-u UID指定UID(如果同时有-o可重置其他用户UID)

新建用户也可以直接修改文件,不过过于复杂,建议直接使用useradd命令

为用户账号设置密码

命令格式:passwd [账户名]

选项作用
-d清除密码(这与未设置密码不同,未设置密码直接不可登录,而清除密码后可以吗免密登录)
-f强制用户下次登陆时修改密码
-l锁定用户
-u解锁

选项还有很多,这里不过多枚举

修改用户属性

命令格式:usermod [选项] username
常用选项与useradd相同

选项作用
-l 新用户名更改用户名(必须在未登录时改)
-L锁定用户
-U解锁

删除用户

命令格式:userdel [-r] 用户名
**-r**在删除时一并删除主目录

切换用户

命令格式:su [用户名]
**su - [用户名]**该命令与上述命令的不同点在于切换用户时切换对应用户的shell

用户组管理

创建用户组

命令格式:groupadd [-r] 用户组名称

选项作用
-g GID指定新用户组的GID(默认是最大GID+1)
-r建立一个系统组号(不可与-g一起使用)

添加/删除组成员

命令格式:gpasswd [选项] [用户] [组]
仅root用户和管理员可使用该命令

选项作用
-r删除组密码
-a添加用户
-d删除用户
-M同时添加多个用户
-A指定管理员

修改组属性

命令格式:groupmod 选项 用户组

选项作用
-g GID制定新的GID
-n 新用户组修改组名

删除组

命令格式:groupdel 用户组名
若删除的是基本组,则必须先删除基本组下的用户

用户和组账户的信息显示

  • users|w|who:显示当前用户的信息
  • id [用户名]:显示当前或指定用户的ID以及所属组ID
  • groups [用户名]:显示当前用户或指定用户所属组的账号信息
这篇关于Linux中用户及用户组的管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!