UID和GID

Linux是通过一组数字ID来识别用户的

每一个用户最少都有两个ID,一个是UID(用户标识ID)一个GID(用户组ID)

用户重要文件

/etc/passwd

这个文件的作用是存放UID和GID,总之是管理用户账号的

文件内容解读

image.png

每一行代表一个账号,有几行就代表几个账号,有很多都是系统账号(系统正常运行所需),所以不能随便的更改和删除

  1. # 以root用户的信息举例
  2. root:x:0:0:/root:/bin/bash
  3. 每一个账号的信息分为七个,每一个以:分隔
  4. 1. 账号名称
  5. 2. 密码 (此字段一半是一个x,因为密码放在这里实在是不安全,管理密码的文件是/etc/shadow
  6. 3. UID 0这个数字不能乱用,因为0代表root
  7. 4. GID
  8. 5. 用户信息栏(不重要,root好像就没有这一栏)
  9. 6. 家目录
  10. 7. shell

/etc/shadow

这个文件就是存放用户的密码的文件了,相当重要啊

image.png

  1. 同/etc/passwd文件一样,它包含了九个字段信息,每一个信息使用:分隔
  2. 1. 账号名称
  3. 2. 密码(加密的)
  4. 3. 最近修改密码的日期
  5. 4. 密码不可被修改的天数
  6. 5. 密码需要重新修改的天数
  7. 其实这些都不重要,只需要知道第一,第二字段的意思就好
  8. 8. 账号失效日期

用户组重要文件

/etc/group

这个文件是记录GID和用户组的对应关系的
image.png

  1. 此文件的内容每一行代表一个用户组
  2. 每一个用户组的信息分为四个字段信息,也是以:分隔
  3. 1. 组名
  4. 2. 用户组密码
  5. 3. GID
  6. 4. 此用户组支持的账号名称
  7. (每一个用户组可以有很多的用户,所以如果一个用户想要加入这个用户组的话,
  8. 将该账号的名称填入这个字段中就可以,多个用户之间按,分隔)

用户管理

新增用户

  1. useradd [参数] 用户名
  2. 参数可以不指定,不指定就会使用默认值
  3. 默认值可以通过 useradd -D来查看

参数:

  1. -u 后面接一组数字,指定UID
  2. -g (用户组的名字)指定初始用户组
  3. -G (次要用户组)
  4. -M
  5. -m
  6. -c 账号描述信息
  7. -d 指定家目录
  8. -r 建立一个系统账号
  9. -s 指定shell
  10. -e
  11. -f

    注意此时新建的用户还不能登录,因为还没有密码,我们需要通过root用户修改新建用户的密码

修改新增用户的某些设置信息

  1. usermod [参数] username
  2. 这个命令主要功能是:当你在新增用户时忘了设置某些信息,或者设置错了某些信息的时候,可以使用这个命令来修改
  3. 参数对应useradd的参数

修改密码

  1. passwd 账号名称
  2. 如果不加账号名称就是修改自己当前用户的密码,(如果此时是root用户那么就是修改root用户的密码)

删除用户

  1. 操作简单
  2. userdel -r username
  3. 参数:-r代表连同用户的家目录一起删除

新增与删除用户组

  1. groupadd -g 用户组名称
  2. # -g 代表设置某一个特定的GID

删除

  1. groupdel 用户组名称