日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux 修改超级权限密码,linux 修改用户密码

發布時間:2025/3/20 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 修改超级权限密码,linux 修改用户密码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文章總結了如何手動、自動修改本地用戶密碼及遠程機器的用戶密碼。對做自動化測試提供了自動修改用戶密碼的原理及方法。

修改本地用戶密碼:

1、交互配置本地用戶:

以root用戶:

passwd

Changing passWord for user dewang.

New UNIX passWord:

BAD PASSWord: it is too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

以非root用戶修改自己的密碼(注后面不能跟用戶名,只有root用戶才允許):

passwd

Changing password for user dewang.

Changing password for dewang

(current) UNIX password:

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

2、非交互配置本地用戶:

echo | passwd --stdin

echo : | chpasswd

將:對先寫到一文件passwd.tmp中,然后執行

chpasswd < passwd.tmp

3、自動腳本處理:

根據passwd命令修改用戶密碼,格式為:xxx.sh

#!/bin/sh

# \

exec expect -f "$0" ${1+"$@"}

if { $argc != 2 } {

puts "Usage: $argv0 "

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

說明:如果要通過shell直接調用expect相關命令,則開頭中必須是如下格式,然后后面即可按照expect、TCL格式書寫了。

#!/bin/sh

# \

exec expect -f "$0" ${1+"$@"}

根據echo | passwd --stdin 及 echo : | chpasswd來修改用戶密碼:

#!/bin/sh

if [ $# -ne 2 ] ; then

echo "Usage: `basename $0` "

exit 1

fi

#echo "$2" | passwd --stdin "$1"

echo "$1:$2" | chpasswd

if [ $? -eq 0 ] ; then

echo "change password for $1 success"

else

echo "change password for $1 failed"

fi

修改遠程主機上用戶密碼:

1、交互配置遠程用戶:

echo | ssh -l root passwd --stdin

如:

echo "newpass" | ssh -l root 10.11.103.151 passwd --stdin dewang

root@10.11.103.151's password:

Changing password for user dewang.

passwd: all authentication tokens updated successfully.

echo : | ssh -l root chpasswd 2>&1

將:對先寫到一文件passwd.tmp中,然后執行

chpasswd < passwd.tmp [作者未測試]

ssh -l root

.... 交互輸入root密碼

然后執行以上的所有可用方式均可

2、非交互配置遠程用戶:

則需要用到expect來進行處理,通過ssh登錄到遠程機器,然后結合上述配置方式,以完成自動修改用戶密碼。

#!/usr/bin/expect

#@brief to change user password by ssh remote machine

proc usage {funcname} {

puts "Usage: "

puts "??? $funcname -user "

puts "??? $funcname -root "

}

# check param

if { $argc != 5 } {

usage $argv0

exit 1

}

# get param

set host [lindex $argv 0]

set username [lindex $argv 1]

set newpasswd [lindex $argv 2]

set loginname "root"

if { [string compare [lindex $argv 3] "-user"] == 0 } {

set loginname $username

}

set passwd [lindex $argv 4]

puts "$host $username $newpasswd $loginname $passwd"

spawn ssh -l $loginname $host

expect {

"*(yes/no)*" { send "yes\r"; set sshkey 1 }

"*assword:*" { send "$passwd\r"; set sshkey 0 }

if sshkey == 1 {

expect "*password:*"

send "$passwd\r"

}

}

expect "*#"

if { [string compare $loginname "root"] == 0 } {

#send "echo \"$username:$newpasswd\" | chpasswd\r"

send "echo \"$newpasswd\" | passwd --stdin \"$username\"\r"

} else {

send "passwd\r"

expect {

"*current*assword:" {send "$passwd\r"}

"passwd: Authentication token manipulation error" {exit}

}

expect "New*assword:"

send "$newpasswd\r"

expect "Retype*assword:"

send "$newpasswd\r"

}

expect "*#"

send "exit\r"

#interact 是否將交互權接過來,如果接過來,則用戶這時可進行交互操作

總結

以上是生活随笔為你收集整理的linux 修改超级权限密码,linux 修改用户密码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。