當前位置:首頁 » 編程軟體 » shell腳本輸入密碼

shell腳本輸入密碼

發布時間: 2022-07-22 04:58:17

Ⅰ shell腳本怎麼實現輸入交互密碼

mysql:./mysql -uroot -p'123456789' 還可以使用 shell 中的read函數 讓執行者輸入密碼後在執行mysql read -p "Enter DB PWD: " echo 「mysql -uroot -p'$REPLY'."

Ⅱ 寫一個shell腳本,要求輸入用戶名密碼,用戶名輸錯三次自動退出腳本,輸對則輸入密碼,求大神幫忙

#/bin/bash
let i=0
let j=0
while true
do
read -p '請輸入用戶名:' name
rname=`cat /autorun/script/passwd.conf |grep '\<'$name'\>'`
rname=${rname:=0}
if [ "$rname" = "0" ];then
echo "輸入的賬號不存在!"
let i=i+1
if [ "$i" = "3" ];then
echo "賬號已輸入三次!"
break
fi
else
let i=0
while true
do
read -p '請輸入密碼:' pass
rpass=`cat /autorun/script/passwd.conf |grep '\<'$name'\>'|awk '{print $2}'`
if [ "$pass" = "$rpass" ];then
echo "登陸成功!"
let i=0
break
else
echo "密碼輸入錯誤"
let j=j+1
if [ "$j" = "3" ];then
echo "密碼已輸入三次!"
break
fi
fi
done
break
fi
done

Ⅲ 如何在Shell腳本輸入密碼

這問題太廣泛了。想到其中一種可能,下面答案來自

linux命令大全 網站

終端輸入密碼時候,不讓密碼顯示出來的例子。

方法1:

#!/bin/bash
read-p"輸入密碼:"-spwdecho
echopasswordread,is"$pwd"

方法2:

#!/bin/bash
stty-echo
read-p"輸入密碼:"pwd
sttyecho
echo
echo輸入完畢。

Ⅳ 如何在shell腳本中自動輸入密碼

使用ssh public key..登錄就不需要輸入密碼了。

Ⅳ 如何在腳本裡面自動輸入密碼

shell腳本在處理自動循環或大的任務方面可節省大量的時間,通過創建一個處理任務的命令清單,使用變數、條件、算術和循環等方法快速創建腳本以完成相應工作,這比在命令行下一個個敲入命令要省時省力得多。
但是有時候我們可能會需要實現和交互程序如ftp,telnet伺服器等進行交互的功能,這時候我們需要用到shell的自動交互功能.
最簡單的例子就是創建用戶,我創建100個用戶,初始密碼為123,那麼要是挨著passwd username ,交互性輸入密碼,那不得瘋掉,但是腳本里應該怎麼寫呢?將密碼123,輸入到passwd命令?
本文收集了較常用交互方法,並進行了比較和總結。
自動交互方法一:利用命令的自帶參數,將標准輸入作為手動輸入的內容
自動交互最關鍵的就是交互信息的自動輸入,首先聯想到文件重定向,在shell編程中有這樣一種用法(參考Linux與UNIX SHELL編程指南 chapt 5.7):"command <<delimiter p="" 從標准輸入中讀入,直至遇到delimiter分界符。?
重定向操作符command <<delimiter是一種非常有用的命令,shell將分界符delimiter之後直至下一個同樣的分界符之前的所有內容都作為輸入,遇到下一個分界符, p="" shell就知道輸入結束了。最常見的delimiter分界符是eof,當然完全可以自定為其他字元。
對於需求1 要求的自動登陸ftp,並作系列操作,則可以用這種方法進行自動交互。代碼如下:
[yjwan@test ~]$ ftp -i -n 192.168.21.46 <
user dbftp dbftp101
ls
EOF
下面是得到的結果:
Connected to 192.168.21.46.
220 developerjail FTP server (Version 6.00LS) ready.
331 Password required for dbftp.
230 User dbftp logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
229 Entering Extended Passive Mode (|||54281|)
150 Opening ASCII mode data connection for '/bin/ls'.
total 8847424
-rw-r--r-- 1 dbftp www 9055318991 Aug 28 14:28 ewiz90.sql_2010-08-29
226 Transfer complete.
221 Goodbye.
測試可以發現,如上代碼使用帳號名dbftp,密碼dbftp101成功登陸了ftp伺服器,並進入目錄,ls出當前目錄的文件。
注意事項:
1 這里一定要加-i ,否則必定失敗!!
這里ftp用的-I 參數 結束了互動式輸入,因此可以用文本的方式自動地輸入用戶密碼以及操作方式
如果不用-I 參數,那麼必定要求你手動輸入密碼的!!那麼就達不到自動登陸的要求了
你可以man ftp找到這個參數
-i 關閉多文件傳送中的互動式提示。請參考 prompt、mget、mput 和 mdelete 子命令,以取得多文件傳送中的提示的描述。
-n 防止在起始連接中的自動登錄。否則, ftp 命令會搜索 $HOME/.netrc 登錄項,該登錄項描述了遠程主機的登錄和初始化過程。請參考 user 子命令。
2 舉一反三:只要是要求輸入密碼的命令,一般都帶有一個參數,允許你從標准輸入,輸入用戶密碼,以及操作。
其他常用的自動登陸命令的參數
1) Passwd命令
Linux下 Passwd有參數
--stdin
This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.
所以linux下自動改變用戶密碼的辦法就是
Echo 密碼 |passwd –stdin 用戶名
Freebsd沒有以上參數 注意
他的方法是echo passwd |pw mod user username -h 0
2)smbpasswd
-s
This option causes smbpasswd to be silent (i.e. not issue prompts)
and to read its old and new passwords from standard input, rather
than from /dev/tty (like the passwd(1) program does). This option
is to aid people writing scripts to drive smbpasswd
3)sudo
在shell腳本中需要用root用的來執行指令:
sudo 自動輸入密碼
echo "password" | sudo -S netstat -tlnp
-S
The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.
3 標准輸入還可以用以下兩種寫法:
可以將下面的內容寫入到一個文本
然後ftp -I –n ip <文本
或者echo 「..」 |ftp –I –n ip
都是可以的!
因為他們都滿足「有一個標準的輸入」這個條件
4 ssh的自動登陸沒有這樣的自動輸入密碼的參數
一般都是使用公鑰/私鑰的方式自動登錄
這種文章滿街都是,網上google一下ssh自動登陸就可以找到答案。
或者用下面的辦法。
自動交互方法2:利用expect腳本自動登陸
這個 expect基本屬於一種編程了
基本任何需要互動式登陸的場合,他都可以解決,是相當的牛逼。
只要是第一種辦法解決不了的,基本都可以用這種辦法。

Ⅵ linux shell腳本,運行時要輸入密碼,密碼正確才往下跑,這個怎麼實現呢

A=123456
read-p"請輸入密碼:"PASSWD
if["$PASSWD"=="$A"];then
continue
else
echo"密碼不錯誤,請重啟輸入!"
fi

Ⅶ shell腳本安裝phpmyadmin自動輸入用戶密碼

靜默安裝,可以使用下面的方案:
1、用debconf-show + 包名查出預配置項
root@compute204:/var/log/keystone# debconf-show slapd
* slapd/password1: (password omitted)
slapd/internal/adminpw: (password omitted)
slapd/internal/generated_adminpw: (password omitted)
* slapd/password2: (password omitted)
...
2、在腳本里,用debconf-set-selections設置然後安裝,格式為 {包名} {配置項key} {配置項類型} {配置項value}
cat <<LDAP_PRESEED | debconf-set-selections
slapd slapd/password1 password ${LDAP_PASS}
slapd slapd/password2 password ${LDAP_PASS}
LDAP_PRESEED
3、安裝
apt-get -y --force-yes install slapd
apt-get -y --force-yes install ldap-utils

Ⅷ SHELL腳本切換用戶需輸入密碼

正常情況下,使用su - username的方式,普通用戶切換都需要輸入密碼的,只有root su的時候才不需要

Ⅸ 想寫一個shell腳本 要求可以自動輸入密碼

你可以這樣試試:
function(){
echo $FORM_pw_|./ibe combine [email protected] key <<!

pw2

#這裡面代表已經登錄成功,可以直接輸入命令。
exit #退出
!
echo
}

上面的是一個方法。如果不行,你可以使用expect工具。

Ⅹ 利用shell腳本批量創建Samba賬戶,需要輸入兩次密碼

是的,一次是設置,二次是檢驗,兩次一樣就認為那是你要輸入的,並且是有記憶的,減少失敗的概率。

熱點內容
python處理excel文件 發布:2025-02-06 16:36:09 瀏覽:439
演算法相對定位 發布:2025-02-06 16:32:42 瀏覽:725
java程序的編譯和執行 發布:2025-02-06 16:21:45 瀏覽:416
什麼是淘寶帳號和密碼 發布:2025-02-06 16:21:36 瀏覽:495
解壓前面簽 發布:2025-02-06 16:02:00 瀏覽:324
華碩訪問點 發布:2025-02-06 15:56:57 瀏覽:331
excel拼接sql 發布:2025-02-06 15:50:10 瀏覽:501
加密手機直播 發布:2025-02-06 15:49:31 瀏覽:535
自帶ftp伺服器好用嗎 發布:2025-02-06 15:26:11 瀏覽:110
win7訪問xp區域網 發布:2025-02-06 15:17:07 瀏覽:525