亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux下交互式與非交互式修改用戶密碼的例子

 更新時(shí)間:2014年11月28日 09:46:48   投稿:junjie  
這篇文章主要介紹了Linux下交互式與非交互式修改用戶密碼的例子,本文重點(diǎn)在是講解了一個(gè)交互式修改用戶密碼的腳本,需要的朋友可以參考下

最近管理的一批機(jī)器,有個(gè)需求是要統(tǒng)一修改一個(gè)帳號(hào)的用戶名密碼,比如將qa帳號(hào)的密碼改為1234,后來(lái)還為了腳本化,很方便的執(zhí)行,還使用了非交互式地修改用戶的密碼。簡(jiǎn)單記錄一下吧。

1. 交互式配置本地用戶的密碼:passwd 命令

復(fù)制代碼 代碼如下:

[root@host_221-81 ~]# passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

2. 非交互式修改本地用戶的密碼:chpasswd

復(fù)制代碼 代碼如下:

# chpasswd命令使用起來(lái)很簡(jiǎn)潔
[root@host_221-81 ~]# echo "qa:1234" | chpasswd
 
# 使用passwd命令,也可以實(shí)現(xiàn)非交互式修改密碼
[root@host_221-81 ~]# echo "1234" | passwd --stdin "qa"
Changing password for user qa.
passwd: all authentication tokens updated successfully.

3. 使用expect來(lái)處理交互式輸入,從而實(shí)現(xiàn)非交互式的密碼修改。

復(fù)制代碼 代碼如下:

#!/bin/sh
# \
exec expect -f "$0" "$@"
if { $argc != 2 } {
    puts "Usage: $argv0 <username> <passwd>"
    exit 1
}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
expect "assword:"
send "$password\r"
expect eof

注意:腳本的第二行,這種寫法可能比較陌生,這是在TCL語(yǔ)言中的語(yǔ)法,The backslash is recognized as part of a comment to sh, but in Tcl the backslash continues the comment into the next line which keeps the exec command from executing again.

該腳本的執(zhí)行結(jié)果為:

復(fù)制代碼 代碼如下:

[root@smilejay ~]# ./change-pwd-expect.sh qa 1234
spawn passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

相關(guān)文章

最新評(píng)論