一般来说,如果您正常使用
useradd
增加使用者时,使用
pwconv
并不会有任何的动作,因为
/etc/passwd
与
/etc/shadow
并不会有上述两点问题啊!
^_^
。不过,如果手动设定账号,这个
pwconv
就很重要啰!
.
pwunconv
相对于
pwconv
,
pwunconv
则是『½
/etc/shadow
内的密码栏数据写回
/etc/passwd
当中,
并且
删除
/etc/shadow
文件。』这个指令说实在的,最好不要使用啦!
因为他会½你的
/etc/shadow
删除
喔!如果你忘记备份,又不会使用
pwconv
的话,粉严重呢!
.
chpasswd
chpasswd
是个挺有趣的指令,他可以『读入未加密前的密码,并且经过加密后,
½加密后的密码写
入
/etc/shadow
当中。』这个指令很常被使用在大量½置账号的情况中喔!
他可以由
Standard input
读入数据,每笔数据的格式是『
username:password
』。
举例来说,我的系统当中有个用户账号为
vbird3
,我想要更新他的密码
(update)
,
假如他的密码是
abcdefg
的话,那么我可以这样做:
[root@study ~]#
echo "vbird3:abcdefg" | chpasswd
神奇吧!这样就可以更新了呢!在预设的情况中,
chpasswd
会去读取
/etc/login.defs
文件内的加密
机制,我们
CentOS 7.x
用的是
SHA512
,
因此
chpasswd
就预设会使用
SHA512
来加密!如果你
想要使用不同的加密机制,那就得要使用
-c
以及
-e
等方式来处理了!
不过从
CentOS 5.x
开始之
后,
passwd
已经默认加入了
--stdin
的选项,因此这个
chpasswd
就变得英雄无用武之地了!
不过,
在其他非
Red Hat
衍生的
Linux
版本中,或许还是可以参考这个指令功能来大量½置账号喔!
13.7.2
大量½置账号模板
(
适用
passwd --stdin
选项
)
由于
CentOS 7.x
的
passwd
已经提供了
--stdin
的功能,因此如果我们可以提供账号密码的话,
那
么就能够很简单的½置起我们的账号密码了。底下鸟哥制作一个简单的
script
来执行新增用户的功
能喔!
[root@study ~]#
vim accountadd.sh
#!/bin/bash
# This shell script will create amount of linux login accounts for you.
# 1. check the "accountadd.txt" file exist. you must create that file manually.
# one account name one line in the "accountadd.txt" fil
e.
# 2. use openssl to create users password.
# 3. User must change his password in his first login.
# 4. more options check the following url:
# http://linux.vbird.org/linux_basic/0410accountmanager.php#manual_amount
# 2015/07/22 VBird
export
PATH=/bin:/sbin:/usr/bin:/usr/sbin
# 0. userinput