Linux 基础教程 16-用户和用户组管理

Linux是多用户多任务的操作系统,用户(user)和用户组(group)的管理是学习和使用Linux的需要了解和掌握的基础之一。

用户管理常用命令

用户在系统中是分角色的。在Linux系统中,由于角色不同,权限和所完成的操作也是不一样的。用户的角色通过UID进行区别标识。Linux中的用户可分为三类,分别如下:

  • 超级用户:该用户既可以登录系统,也可以操作系统任何文件和命令,拥有最高的权限,如root。
  • 一般用户:这一类型的用户可以登录系统,但只能操作其根目录的内容,权限受到限制,这种类型的用户一般是通过系统管理员自行添加。
  • 虚拟用户:这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、ftp、mail等,这种类型的用户是系统自身拥有的,而非后来添加的。当然也可以自行添加虚拟用户。

Linux中用户管理的常用命令有:

  • useradd或adduser:添加用户
  • usermod:修改用户
  • userdel:删除用户
  • passwd:修改密码

添加用户-useradd/adduser

useradd和adduser是两个等价的命令,都是用来添加用户,基本语法格式如下所示:

useradd [参数] 用户名

执行上面的命令之后,将在系统执行以下操作:

  • 1、在/etc/passwd文件中添加一行记录
  • 2、在/home目录中创建新建用户的主目录

该命令的详细参数如下所示:

参数 功能
-g [群组] 用于添加用户账号时指定该用户的私有组。如不指定-g参数,则将自动建立与用户账号同名的组做为该账号的私有组
-G [群组] 用于添加附属组
-D 用于显示或变更useradd所使用的默认值
-d [目录] 指定用户主目录,如果该目录不存在,则同时使用-m创建主目录
-m 若使用者目录不存在,则自动创建
-u UID 指定用户的UID,UID值不能为负值,预设值最小不能小于99而逐次增加。0~99传统上保留给系统账号使用

使用useradd/adduser命令添加用户时,系统将为用户创建一个同名的用户组,称为私有组,这样是为了能让新用户和其他用户隔离,确保安全。如果需要改变私有组的名字,则使用-g参数完成。

示例
Linux 基础教程 16-用户和用户组管理_第1张图片
16-1 添加用户_c2i.jpg

修改用户-usermod

usermod命令是用来修改用户账号的各种属性,如用户主目录、私有组、登录Shell等内容。基本语法格式如下:

usermod [参数] 用户名

主要参数如下所示:

参数 功能
-d [目录] 修改用户登入时候的目录
-e [天数] 修改账号的有效期限
-g [群组] 修改用户所属的群组
-l [登录名] 变更用户登录时的名称
-l [密码] 修改用户密码
-s [shell] 指定用户登录的Shell,如果不设置,则选用系统预设的Shell

需要注意的是,最好不要使用usermod命令修改用户密码。因为如果使用该命令,则显示在文件/etc/shadow中的密码是明文密码,推荐使用passwd命令修改密码

示例
16-2 修改用户_c2i.jpg

删除用户-userdel

userdel命令比较简单,只有一个参数-r,如果在使用userdel时添加该参数,则删除用户时,会将/home目录下的该用户目录和文件一并删除。

示例
Linux 基础教程 16-用户和用户组管理_第2张图片
16-3 用户删除_c2i.jpg

修改密码-passwd

passwd的语法格式如下所示:

passwd [参数] [用户名]

主要参数如下所示:

参数 功能
-l 锁定用户,即禁止使用该账号
-u 用户口令解锁
-d 关闭用户的密码确认功能,在用户登录时可以不用输入密码,只有具备root权限的用户才能使用
-f 强制用户下次登录时修改密码
示例
Linux 基础教程 16-用户和用户组管理_第3张图片
16-4 修改用户密码_c2i.jpg

用户组常用命令

用户组就是具有相同特征的用户集合。用户和用户组的关系是多对多的,即一个用户可以属于多个用户组,而用户组也可以包含多个用户。在Linux中每个文件都有一个用户组,当创建一个文件或目录时,系统会赋予其一个用户组关系。
  Linux中用户组管理的常用命令有:

  • groupadd:添加用户组
  • groupmod:修改用户组
  • groupdel:删除用户组

添加用户组-groupadd

groupadd可指定用户组名称来新建用户组。其语法格式如下所示:

groupadd [参数] [用户组名称]
参数 功能
-g GID 除非使用参数 -o,否则GID值必须唯一且数值不可以为负
-o GID 运行GID不唯一
-r 加入组GID号,且GID号低于499系统账号
示例
Linux 基础教程 16-用户和用户组管理_第4张图片
16-5 添加用户组_c2i.jpg

如果使用groupadd命令时不设置GID号,如下所示:

groupadd TestGroup

则在系统中新建用户组TestGroup,新组的标识GID则在当前最大组标识的基础上加1

修改用户组-groupmod

groupmod可用来修改当前用户组的名称,语法格式如下所示:

groupmod [参数] [用户组名称]
参数 功能
-g GID 修改为新的GID
-o GID 重复使用GID
-n 修改用户组名称
示例
Linux 基础教程 16-用户和用户组管理_第5张图片
16-6 修改用户组_c2i.jpg

删除用户组-groupdel

groupdel是用来删除已有的用户组,其语法格式如下所示:

groupdel [用户组名称]

groupdel命令使用比较简单,有一点需要注意的是,如果该用户组包含有一些用户,则必须先删除这些用户,才能删除该用户组。

示例
Linux 基础教程 16-用户和用户组管理_第6张图片
16-7 删除用户组_c2i.jpg

你可能感兴趣的:(Linux 基础教程 16-用户和用户组管理)