Linux进阶 新增用户

手动新增用户

需要了解下面这些文件及目录:

用户账号与密码参数方面的文件:/etc/passwd,/etc/shadow

用户组相关方面文件:/etc/group,/etc/gshadow

用户的组文件夹:/home/账号名称

/etc/default/useradd

/etc/skel/*

/etc/login.defs

/var/spool/mail/*

如果使用useradd可以帮助我们自动设置好UID/GID主文件夹及主文件夹相关的权限设置,(主文件夹下的配置文件,用户的邮箱等),手动增加的时候,要了解整个系统,手动增加的好处是,我们的账号问题可以完全依照自己的意思去修改,而不必迁就于系统默认值。

一些检查工具

pwck

这个命令检查/etc/passwd这个账号配置文件内的信息,与实际的主文件夹是否存在。比较/etc/passwd,/etc/shadow的信息是否一致,另外,如果/etc/passwd内的数据字段错误时,会提示用户修改。

grpck

用户组检查,与pwck意思相同

pwconv

这个命令主要目的是将/etc/passwd内的账号与密码移动到/etc/shadow当中(例如你只手工修改了/etc/passwd文件增加了用户,而shadow中没有对应的用户时)。

一般说,如果你正常使用useradd增加用户时,使用pwconv并不会有任何操作,因为/etc/passwd与/etc/shadow并不会有问题。不过如果手动设置账号,这个pwconv就很重要了。

pwnuconv

相对于pwconv,pwunconv则是将/etc/shadow内的密码列数据写回/etc/passwd,并且删除/etc/shadow文件,这个命令很危险,需要先备份shadow文件,最好不要用

chpasswd

他可以读入未加密前的密码,并且经过加密后,将加密后的密码写入/etc/shadow文件中,这个命令很常被使用在批量新建账号的情况中。他可以有Standard input读入数据,每条数据的格式是“username:password”。举例来说,我的系统当中有个用户账号为awake,我想要更新他的密码(update),假如需要将密码更新为Passw0rd的话,那么可以这样:

[root@RHEL6 mail]# echo "awake:Passw0rd" | chpasswd -m

默认情况中chpasswd使用的是DES加密方法来加密,我们可以使用chpasswd -m 来使用MD5加密方法。这个命令通常是passwd --stdin的备份命令,如有些系统中没有passwd --stdin命令是使用。

[root@RHEL6 mail]# echo "password" | passwd --stdin awake

grpconv

这个命令主要目的是将/etc/group内的用户组与密码移动到/etc/gshadow当中(例如你只手工修改了/etc/group文件增加了用户组,而gshadow中没有对应的用户组时)。

使用命令新建用户及用户组过程如下

groupadd mygroup1

useradd -G mygroup1 myuser1

useradd -G mygroup1 myuser2

useradd -s /sbin/nologin myuser3

echo "password" | passwd --stdin myuser1

echo "password" | passwd --stdin myuser2

mkdir /srv/projecta

chgrp mygroup1 /srv/projecta

chmod 2770 /srv/projecta //代表用户(myuser1-3)在这个目录下面新建的文件的用户组都会与该目录的用户组相同

手工(修改配置文件)新建用户及用户组过程如下

1、先新建所需要的用户组(vi /etc/group)

2、将/etc/group与/etc/gshadow同步(grpconv,下面有grpconv的实验)

3、新建账号的各个属性(vi /etc/passwd)

4、将/etc/passwd与/etc/shadow同步(pwconv,与grpconv意思相同)

5、新建账号的密码(passwd accountname)

6、新建用户主文件夹(cp -a /etc/skel /home/accountname)

7、更改用户主文件夹的所有者和所有组属性(chown -R accountname.group /home/accountname)

8、更改用户主文件夹的权限属性

实例

新建用户为normal,假设520这个UID/GID没有被占用,新建用户组为normalgroup,并指定用户密码

1、新建组、同步组及组密码

[root@RHEL6 ~]# vi /etc/group //在最后一行加入下面这一行

......

normalgroup:x:520:

......

[root@RHEL6 ~]# grep normalgroup /etc/gshadow //查看/etc/gshadow没有这一行

[root@RHEL6 ~]# grpconv //将/etc/group内的用户组与密码移动到/etc/gshadow当中

[root&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启航学途

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值