Re: 請問要如何做到可以一次更改某群組所有使 …

看板FreeBSD作者時間21年前 (2004/12/08 21:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
【 在 abc. 的大作中提到: 】 : ※ 引述 阿猴 (ahgau.bbs@bbs.ncku.edu.tw) 之銘言 : 如果認為寫 script 所需的時間比手動修改還慢 : 那就一個一個改 , 反正才幾十個帳戶 , 又不是幾千個帳戶 :) : #!/bin/bash : gid=`id -g accounting` : name=`cat /etc/passwd | grep ${gid} | awk -F: '{print $1}'` : for i in ${name} ; do : echo 20041231 | passwd --stdin $i : done : 記得先檢查一下 $name 值是否正確 ! FreeBSD 的 passwd 沒有 --stdin :p 稍微麻煩一點 .... 用 expect 處理吧. (當然要先有裝 ../usr/ports/lang/expect ) 把下面的 script 存成一個檔案... chmod 成可執行 .. 例如叫 chpw.exp 把上面的 script 中 passwd --stdin $i 改成 ./chpw.exp $i #!/usr/local/bin/expect set user [lindex $argv 0] spawn passwd $user expect "New password:" send "20041231\r" expect "Retype new password:" send "20041231\r" interact exit 另一簡便的作法是 .... 先用 passwd 改完一個使用者的密碼 然後跑個小 script 把 /etc/master.passwd 中其他要更換使用者的密碼欄位換成跟上述使用者相同 再跑一下 pwd_mkdb /etc/master.passwd 就ok了 .. -- ※ 來源:‧大度山之戀 bbs.thu.edu.tw‧[FROM: 140.128.195.243]
文章代碼(AID): #11jm9v00 (FreeBSD)
文章代碼(AID): #11jm9v00 (FreeBSD)