How to add user account on Linux(Automatically and Manually)
UpDate 2018-08-14 1534242839
Author unnamed
Tip Please feel free to contact me via mail above for any confusion or suggestions
INTRODUCTION
在进行Linux用户管理的过程中,如何深入理解呢?这里分别介绍自动创建Linux用户和手动创建Linux用户。而不同的方法达到的效果是相同的,以此来使得大家深入理解Linux用户创建的过程。我们要完成的是:
创建一个账户,用户名为user,基本组为group,密码为password,家目录在 /home/user/,数据目录在 /data/user/;
AUTOMATICALLY
自动创建指的其实是使用Linux自带的用户创建的命令。
StepByStep
-
groupadd group
首先创建组group,因为我们如果不事先创建好组group,接下来进行用户user的基本组设置的时候会失败,因为基本组的要求是在创建用户的时候要提前存在; -
useradd -g group user
这里是创建了用户user,并将其基本组设置为group,刚刚提到,基本组的要求是在创建用户的时候要提前存在,这是针对组与用户不同名的情况来说的,如果组与用户同名的话,我们使用useradd user
的过程中,Linux会自动创建一个组user作为用户user的基本组; -
echo "password" | passwd --stdin user
这里使用的密码设置是使用了参数--stdin
,这种设置方法为非交互式设置,方便脚本成批量修改密码。同样的,你也可以使用passwd user
进行交互式的密码修改,然后将密码修改为password即可; -
mkdir /data/user
这一步是我们要先创建一个数据目录,但此时我们数据目录的属主和属组都是root,所以下一步只需要更改属主属组即可; -
chown -R user.group /data/user
这一步就是更改属主数组;
以上操作进行完就实现了我们的要求。而这个时候你去查看一下/etc/passwd /etc/shadow /etc/group /etc/gshadow
这四个文件,你就会发现,每一个文件都多了一行文字,而这些文字就是配置我们用户相关信息所需要的。此时,你进入到user的家目录/home/user/,使用ls -a
查看所有的文件,你就会发现会有一些隐藏文件在,这些文件其实是Linux从/etc/skel/中复制过来的。
MANUALLY
那么如何全手动的呢?假设我们已经知道了Automatically操作之后提及的四个文件所多出的那四行信息。
StepByStep
- 将我们所知道的这四行信息对应的粘贴到
/etc/passwd /etc/shadow /etc/group /etc/gshadow
文件中去; -
cp -r /etc/skel/ /home/user
这一步需要注意,/home目录下此时并没有user的目录文件; -
chown -R user.group /home/user/
这里也同样,此时的属主属组为root,所以需要更改; -
chmod -R go= /home/user/
这里更改家目录的权限; - 接下来就和自动的一样创建数据目录更改属主属组即可:执行
mkdir /data/user
和chown -R user.group /data/user
Code
# Automatically
groupadd group
useradd -g group user
echo "password" | passwd --stdin user
mkdir /data/user
chown -R user.group /data/user
# Manually
# copy files: /etc/passwd /etc/shadow /etc/group /etc/gshadow
cp -r /etc/skel/ /home/user
chown -R user.group /home/user/
chmod -R go= /home/user/
mkdir /data/user
chown -R user.group /data/user
其实还可以出一个,在不知晓用户相关的四个配置文件信息的情况下如何全手动添加Linux用户,不过,这个看以后能不能想起来吧,嘻嘻
网友评论