当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2010-06-23 9:28 

注册: 2010-04-29 8:58
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
最近学习鸟哥的passwd用法时练习建立账号并修改密码(密码统一为“password”),程序如下
#!/bin/bash
groupadd myquotagrp
for username in myquota1 myquota2 myquota3 myquota4 quota5
do
useradd -g myquotagrp $username
echo "password" | passwd --stdin $username
done
运行后报错
passwd: unrecognized option '--stdin'
Usage: passwd [options] [LOGIN]

Options:
-a, --all report password status on all accounts
-d, --delete delete the password for the named account
-e, --expire force expire the password for the named account
-h, --help display this help message and exit
-k, --keep-tokens change password only if expired
-i, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --lock lock the password of the named account
-n, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-q, --quiet quiet mode
-r, --repository REPOSITORY change password in REPOSITORY repository
-S, --status report password status on the named account
-u, --unlock unlock the password of the named account
-w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
-x, --maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS

我又查了下passwd的用法,虽然不是很懂,但尝试了openssl passwd -stdin
还是报错:
Usage: passwd [options] [passwords]
where options are
-crypt standard Unix password algorithm (default)
-1 MD5-based password algorithm
-apr1 MD5-based password algorithm, Apache variant
-salt string use provided salt
-in file read passwords from file
-stdin read passwords from stdin
-noverify never verify when reading password from terminal
-quiet no warnings
-table format output as table
-reverse switch table columns

特此请大家帮忙解答,顺便能否讲解下那个 openssl passwd 的用法?谢谢
在后续过程中发现useradd命令不能建立用户家目录,登录时不方便,该怎么做呢?


最后由 xiangpi1860 编辑于 2010-06-27 9:35,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法
帖子发表于 : 2010-06-24 2:38 

注册: 2010-06-23 19:28
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
abc74233简繁发表于6小时前|只看该作者


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法
帖子发表于 : 2010-06-25 21:25 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
先说一下你的问题:
改密码时调用了命令所不支持的参数
openssl passwd 不是用来改密码的
变量passwd 没有赋值就使用,汗

以root执行
代码:
#!/bin/bash
groupadd myquotagrp
read passwd1
for username in myquota1 myquota2 myquota3 myquota4 quota5
do
useradd -g myquotagrp $username
echo "$username:$passwd1"| chpasswd
done



难道你是要把 myquota1 myquota2 myquota3 myquota4 quota5 这几个用户的密码改成一样的?


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法
帖子发表于 : 2010-06-25 21:30 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
参考:http://www.fallday.org/archives/532
使用passwd选项,你可以得到一个类似/etc/passwd或者/etc/shadow格式的密码。
1、创建一个crypt-style密码

QUOTE:

$ openssl passwd MySecret
8E4vqBR4UOYF

如果知道已经存在密码的“salt”,可以复制其hash:

QUOTE:

$ openssl passwd -salt 8E MySecret
8E4vqBR4UOYF.

否则,即使相同的密码,因每次的hash不同,结果也不同的。
2、创建一个shadow-style的密码
新的Unix系统(包括linux),都使用安全的MD5-based来作为salt,可以这样产生类似的密码:

QUOTE:

$ openssl passwd -1 MySecret
$1$HkrAilcM$Jy3vYQc8UiEXfTLRrlSpD.

而slat在二到三$符号之间,所以有:

QUOTE:

$ openssl passwd -1 -salt HkrAilcM MySecret
$1$HkrAilcM$Jy3vYQc8UiEXfTLRrlSpD.


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法
帖子发表于 : 2010-06-25 22:21 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
经实验 在进行 echo "user1:passwd1"|chpasswd 时
用sudo是不够的
必须是命令提示符是#的时候
代码:
$ sudo echo "wry:wrydemima"| chpasswd
更改 wry 的密码。
chpasswd: (user wry) pam_chauthtok() failed, error:
认证令牌操作错误
chpasswd: (line 1, user wry) password not changed
$ sudo -i
# echo "wry:wrydemima"| chpasswd
#


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


最后由 erol 编辑于 2010-06-27 23:32,总共编辑了 1 次

页首
 用户资料  
 
6 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法
帖子发表于 : 2010-06-27 9:32 

注册: 2010-04-29 8:58
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
[quote="erol"]先说一下你的问题:
改密码时调用了命令所不支持的参数
openssl passwd 不是用来改密码的
变量passwd 没有赋值就使用,汗

首先很感谢这位哥们的回复,而且按照你的做法,的确可以创建这组用户并修改密码
是我当时没说明白,我的确想把这5个人的密码都设为“passwd”
还想请教一下 那鸟哥书上写的 --stdin 为什么是命令不支持的参数呀?是版本问题还是其他什么问题呀?
顺便抱怨下useradd这个命令,创建成功了也不能顺便创建各用户的家目录,导致登录不方便
adduser这个命令很好用,但不能批量加用户,很苦恼
请大家指教
还有,很感谢erol这位哥们关于openSSL的介绍,受教了,呵呵..谢谢哈


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2010-06-28 1:29 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
为什么说useradd不能建目录啊
这不就建了
代码:
$ ls /home
lost+found  wb  wry
$ sudo useradd -m xiaoming
$ ls /home
lost+found  wb  wry  xiaoming
$


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2010-06-28 9:16 

注册: 2010-04-29 8:58
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
嗯,呵呵..的确可以建的
谢谢哈
不过那个“--stdin”呢?
http://linux.vbird.org/linux_basic/0410 ... php#passwd
这个是鸟哥讲的passwd用法,里面讲到“--stdin”用法很重要
和大家同享并期待大家帮我解答


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2010-07-01 17:37 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
代码:
echo -e "password\npassword" | passwd <UserName>


_________________
代码:
] ls -ld //


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2011-12-22 14:19 

注册: 2007-07-19 11:03
帖子: 32
送出感谢: 0 次
接收感谢: 0 次
echo 'username:password' | chpasswd
就行


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2011-12-25 19:53 
头像

注册: 2011-11-05 18:53
帖子: 158
地址: 南极圈
送出感谢: 0 次
接收感谢: 7
:em20 这坟挖得。。。passwd的--stdin参数ubuntu不支持,其实debian就不支持这个


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2013-02-05 10:26 

注册: 2013-02-05 10:25
帖子: 1
系统: Ubuntu 12.10
送出感谢: 0 次
接收感谢: 0 次
楼上正解


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2015-05-08 23:58 
头像

注册: 2010-10-26 21:21
帖子: 17
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
josephyoung 写道:
:em20 这坟挖得。。。passwd的--stdin参数ubuntu不支持,其实debian就不支持这个


哦 原来是这么回事啊,谢谢


_________________
秀依林枫烂泥行天下


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 请教有关 passwd --stdin的用法(未解决)
帖子发表于 : 2016-10-23 17:22 

注册: 2013-02-03 7:33
帖子: 7
系统: Ubuntu 12.10
送出感谢: 1
接收感谢: 0 次
:Grimace 挖个坟。
我也在看这本书的时候遇到这个问题,用一个很简单粗暴的方法解决了:

代码:
echo "password" | passwd --stdin $username

改为
代码:
echo "password\npassword" | passwd $username


因为看到
代码:
passwd $username
是使用两次输入密码来确认密码的,便想用\n模拟回车的效果,结果真成了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译