linux系统--用户和用户组

一、用户和用户组的概念

  • 用户:使用操作系统的人
  • 用户组:具有相同系统权限的一组用户。在linux系统中可以存在多个用户组

1.1 /etc/group

  这里存储当前系统中所有用户组的信息

  

  每一行对应一个用户组,每一个用户组分成4段,每一段都用一个 冒号 来连接。

  

  组密码占位符:用户有登录密码,用户组也有一个登录密码

  组编号:每一个用户组都有一个独立的编号

  组中用户名列表:当用户名与组名称是相同的时候,可以省略用户名

  组号0一定是root用户,组号1-499属于系统预留的组编号,一般来说是预留给安装在操作系统中的软件或者服务的(一般是把未被使用的最小组号分配给安装的软件或者服务)。

  用户手动创建的用户组编号是从500开始。把大于等于500的最小组号分配给用户手动创建爱你的用户组

  组密码占位符一律用x

1.2 /etc/gshadow

  存储当前系统中用户组的密码信息。

  

  每一行都与group文件中对应

  

  组密码为 * 或为空 或为 !的时候,都认为uzu的密码为空,即没有密码。

  组管理者即是哪些用户可以管理这个用户组,若为空,则为所有用户都可以管理用户组

1.3 /etc/passwd

  存储当前系统中所有用户的信息

  

  

  每一行对应一个用户的信息

1.4  /etc/shadow

  存储当前系统中所有用户的密码信息

  

  

二、用户和用户组命令

2.1 用户组命令

2.2.1 创建用户组——groupadd 

  groupadd    用户组名:创建一个用户组

  

  

  可以看见,创建了一个编号为 1001 的用户组 hand

  同时创建用户组和编号

  groupadd -g 888 test

  

  

2.1.2 修改组名称——groupmod

  groupmod -n 新组名称  原组名称

  -n 表示修改用户组的名称

   

    

2.1.3 修改组编号——groupmod

  groupmod -g 修改的组编号 组名称

  

  

2.1.4 删除用户组——groupdel

  groupdel 用户组名

  

  

  在删除用户之前,必须先删除用户组中的用户,否则处在用户组中的用户关于用户组的信息就无法跟组对应上,就变成了系统中的黑户,就会受到权限上的限制。

2.1.5 给用户组设定密码

  gpasswd 用户组

2.2 用户命令

2.2.1 创建用户——useradd 

 先创建一个用户组:groupadd hand

  创建用户:useradd -g 用户组名 用户名

  

  

  创建用户的时候通过  -d 参数指定用户的个人文件夹

  useradd -d /home/xxx hand4

  

  若是没有创建用户个人文件夹,系统会在指定目录中创建个人文件夹

   

2.2.2 给用户添加注释——usermod

  usermod -c 注释 用户名

  

  

 2.2.3 修改用户名

  usermod -l 新用户名 旧用户名

  

  

   指定新的个人文件夹

  

  

2.2.4 修个一个用户的所属用户组

  usermod -g 目标用户组名 用户名

  

  

2.2.5 删除用户——userdel

  userdel 用户名

  这种删除并不会删除用户的个人文件夹里面的文件夹

  userdel -r 用户名

  可以删除个人用户以及个人用户文件夹

2.2.6 禁止除了root账号以外的其他账户登录服务器

  创建一个nologin空文件即可达到效果

  touch /etc/nologin

2.2.7 锁定账户——passwd

  passwd -l 用户名

  

2.2.8 解锁账户——passwd

  passwd -u 账户名

2.2.9 使账户无密码登陆:清除账户的密码

  passwd -d 用户名

 三、主要组与附属组

  • 用户可以同时属于多个组
    • 一个主要组
    • 多个附属组  

   

3.1 将用户添加进/删除另一个组中(即添加进附属组)

  gpasswd -a 用户名 其他组名

  

   若一次添加多个用户组,可以将组名用 逗号 隔开来一次添加多个附属组。

  将用户从附属组中删除:

  gpasswd -d 用户名 其他组名

3.2 将身份切换到附属组

  当一个用户属于多个用户组的时候,用户创建的文件默认情况下属于它的主要组。如果要以附属组组员的身份来创建一个文件,需要把身份临时切换到附属组中去。用户需要自己的用户模式下执行,不能在root权限下。

  newgrp   附属组名称   

3.3 创建爱你用户的时候即指定主要组,也指定附属组

  useradd  -g  主要组    -G   附属组

  多个附属组用逗号连接

四、Linux中用户管理其他命令

4.1 切换用户

  把当前用户切换到其他用户

  su   切换的用户名

4.2 Whoami 显示当前登陆用户名

4.3 id 用户名

  显示指定用户信息,包括用户编号、用户名

  主要组编号及名称,附属组列表

4.4 groups 用户名:显示  用户 所在的所有组

4.5 chfn 用户名: 设置用户资料,依次输入用户资料

4.6 finger 用户名:显示用户详细资料

原文地址:https://www.cnblogs.com/kele-dad/p/7617418.html