Linux用户管理---用户的添加和删除(自我学习)

Linux用户管理–用户的添加和删除(自我学习)

用户管理

用户标识符UID和GID

UID是用户ID,GID是用户组ID。

文件只识别ID,当我们需要显示用户名称时,系统会通过找到相应ID的文件,找到用户名称。

每一个文件都有一个拥有者ID和拥有人组ID

用户ID信息存放在/etc/passwd中,用户组信息存放在/etc/group中。


用户名称显示为数字

Linux用户管理---用户的添加和删除(自我学习)_第1张图片

这是我们查找到的正常的用户。

当我们用

vim /etc/passwd

打开文件,找到下列文档内容:

在这里插入图片描述

将用户ID修改,然后在查找一下用户信息:

在这里插入图片描述

Linux用户管理---用户的添加和删除(自我学习)_第2张图片

查找不到用户名称,直接显示用户ID

用户信息存储位置

  • 用户基本信息:存储在 /etc/passwd 文件中;
  • 用户密码信息:存储在 /etc/shadow 文件中;
  • 用户群组基本信息:存储在 /etc/group 文件中;
  • 用户群组信息信息:存储在 /etc/gshadow 文件中;
  • 用户个人文件:主目录默认位于 /home/用户名,邮箱位于 /var/spool/mail/用户名。

用户添加

useradd和adduser都能添加用户,useradd是linux命令,adduser是perl脚本。


adduser

adduser name 会自动添加用户,并且还会自动地创建与这个用户名名字一样的用户组作为这个用户的初始用户组。此外,还会自动地在/home目录下面创建一个与用户同名的目录,接着执行"cp /etc/skel /home/用户名"的操作,实现新增用户的主目录的初始化。

在使用adduser Tom时产生了以下错误

adduser: 请输入匹配 NAME_REGEX[_SYSTEM] 配置选项配置的正则表达式的用户名。
使用 `--force-badname‘ 选项可以放松检查或者重新配置 NAME_REGEX。

这是因为Tom不符合NAME_REGEX[_SYSTEM]的正则表达式,通过–force-badname可以使用弱检查。如果不想检查,可以在/etc/adduser.conf中将相关选项屏蔽

在这里插入图片描述

adduser Tom --force-badname

这就不会出现错误提示,直接进入输密码阶段

Linux用户管理---用户的添加和删除(自我学习)_第3张图片


useradd

useradd在创建用户时,只是创建了一个用户名,没有密码,目录等,要添加一定的参数才可以达到和adduser一样的效果。

相关参数:

  -b, --base-dir BASE_DIR	新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults		显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP		新账户主组的名称或 ID
  -G, --groups GROUPS	新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR	使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init	不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home	创建用户的主目录
  -M, --no-create-home		不创建用户的主目录
  -N, --no-user-group	不创建同名的组
  -o, --non-unique		允许使用重复的 UID 创建用户
  -p, --password PASSWORD		加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL		新账户的登录 shell
  -u, --uid UID			新账户的用户 ID
  -U, --user-group		创建与用户同名的组
  -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER

在这里插入图片描述

没有使用任何参数,则会创造一个没有任何权限,信息的账户。

Linux用户管理---用户的添加和删除(自我学习)_第4张图片

当用useradd username -p password 创建用户时,发现密码无法通过,问题解决如下:

#用vim指令打开密码文件
vim /etc/shadow

在这里插入图片描述

可以看出,用户的密码保存是加密的,当我们读取密码时会对密码进行解密,而useradd -p是将用户的密码不加密进行保存,而在读取的时候都要进行解密,导致了读取存储的密码时错误,密码不匹配,无法登陆。需要在用户创建后用passwd命令对其进行密码更改。

Linux用户管理---用户的添加和删除(自我学习)_第5张图片

成功登陆。


用户删除

userdel

userdel username

这段指令会删除相应的用户,但是,如果用户的信息十分完备,userdel不能删除全部的用户信息。目前已知的会删除的内容是用户的UID和密码信息,已知的不会删除的是这个用户的原本的主目录文件的拥有者ID(不会删除这个文件夹,且这个文件夹仍然归这个已经被删除的用户,即使他不存在。当我们在创造一个同名的用户时会提示该目录已存在,但是仍然能够创建成功,这个新用户会占据这个目录。

你可能感兴趣的:(Linux,linux,服务器)