Centos7创建账户

发布时间 2023-11-15 22:01:53作者: 裆朝大学士

关于Linux里的创建账户,首先我们需要理解三个文件。

关于linux的账号文件

注:以下操作建议在超级用户root下执行

shadow密码文件

more /etc/shadow

这个文件是用来保存用户密码

里面的文件从左到右意思为:

root:$abcdef1234:12644:0:99999:7:::
帐号:加密的字符:上次变化到现在的天数(19700101):可变期:要变期:到期前几天通知:::

passwd账号文件

more /etc/passwd

这个文件是用来保存用户名

里面的文件从左到右意思为:

root:x:0:0:root:/root:bin/bash
帐号:密码:UID:GID:说明性文字:家目录:使用的shell类型

虽然上面已经写了很清楚了,但是因为这个文件很重要,所以我还是解释一下,以上面的rachel(也就是截图里的最后一行)账号为例,这里的1000和1000说明rachel这个用户的用户ID(UID)和组ID(GID)都是1000,这里的用户ID不能重复,只能是唯一性的,就和身份证一样,如果用户ID重复了,那是不行的(怎么个不行我也不知道但是就是不行)。

/home/rachel说明rachel账号的家目录是在这个路径下

....中间的意思就是字面意思....

/bin/bash表示rachel这个账号执行的都是bash脚本程序

group组文件

more /etc/group

这个文件是用来保存账号组信息文件

里面的文件从左到右意思为:

root:x:0
组号:密码:组id

这个文件也很重要,组ID也不能重复

直接通过命令创建用户

这个比较简单粗暴(相较于后面的来说)

两个命令直接创建用户和用户密码(简单创建)

创建账号

useradd <账号名>

创建好账号后,可以发现三个文件后面都新增一行

这个账号明明没有密码,但是密码我就是登不上去。。

密码多少我也不知道

给账号创建密码

passwd <那个账号的密码>

这里我输入的是123456

自定义创建账号(复杂的创建)

增加组

groupadd <组名> 

指定GID,创建组


groupadd -g <组ID> newgroup

删除组


groupdel <组名>

创建一个超级用户

useradd -u 0 -O -g 0 root1

删除用户(无法删除家目录文件)

userdel <用户名>

彻底删除用户(包含家目录文件)

userdel -r <用户名>

锁定用户

userdel -L <用户名>

解锁用户

userdel -U <用户名>

修改账号密码

passwd <用户名>

将账号添加到指定组

gpasswd -a <用户名> <组名>

将账号移出指定组

gpasswd -d <用户名> <组名>

账号切换

su <用户名>

账号切换(同时切换环境)

su -l <用户名>

查询账号相关信息

id <用户名>

查询组相关信息

groups <组号>

手动创建账号

这个好麻烦

首先要先编辑那三个文件,编辑顺序无所谓,反正编辑就对了

这里我先编辑账号信息

vi /etc/passwd

G(跳到最后一行)

回车(这里应该已经跳到末行)

yy(复制)

p(粘贴)

这里已经复制并粘贴出最后一行了

i(进入编辑模式)

开始编辑(魔改)复制出来的账号文件

这里我新建一个用户名为test的账号,UID和GID都相同(为了方便),家目录是/home/test,执行的命令是bash命令(截图里写错了,应该是/bin/bash)

esc键按一下

:键按一下

输入wq保存退出

 

然后开始编辑用户组信息

vi /etc/group

G(跳到最后一行)

输入i键直接开始编辑

编辑完成后

esc键按一下

:键按一下

输入wq保存退出

 

目前新建账号test有了账号信息和组信息,但是还差了个密码

这里可以通过查看shadown文件得以验证

为此所以我们应该还要给它配置密码

passwd test

123456

123456

三个文件都配置好后就完事了吗?

不是的

这里只是配置上创建了test账号的信息

但是实际上没有关于test账号的目录或文件

所以接下来还要创建test的家目录

先切到/home路径下看看有哪些用户家目录

好好好,这里就以rachel用户作为模板吧,复制rachel目录下的所有文件并改个名字叫test

cp -r rachel/  test/

改变新建(被复制)出来的目录的所属者和所属组

chow -R 1002:1002 test/

使用su-l test登录新创建的用户test以此来验证,可以看出创建成功