導航:首頁 > 操作系統 > linux腳本輸入密碼

linux腳本輸入密碼

發布時間:2022-11-20 12:06:58

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

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

B. linux 腳本執行命令為什麼需要輸入密碼

因為有環境變數PATH,裡麵包含了許多目錄,這些目錄下的可執行文件就無需輸入完整路徑來執行。 你可以用 echo "$PATH"查看當前的環境變數包含的目錄,自帶的命令文件都是在PATH 中的,所以可以直接使用。 ./代表當前目錄,由於自己編寫的腳本就...

C. Linux自動登陸腳本怎麼寫

題主你好,

可以藉助在家目錄下編寫.netrc文件來實現問題中所述需求.

舉例來說: 我要實現: 直接使用 "ftp 1.1.1.1" 命令,回車後會:

a.自動使用用戶名: hello 密碼: world 登錄.

b.在a步完成登錄後, 自動切到ok目錄下.

-------------------------------------------------------

實現:

1.在家目錄下新建".netrc"文件:

希望可以幫到題主, 歡迎追問.

D. 關於linux expect腳本的問題,自動輸入密碼

#!/usr/bin/expect

set time 30
set passwd xxxxx (xxxx是你的密碼內容)

spawn sudo
expect "Password:" 引號里是你手動執行sudo時候 。系統返回給你的提示,可以只匹配最後幾個字母,
也可以寫全
send "$passwd\r"
expect eof

EOF

E. Linux中shell腳本如何自動輸入密碼

使用expect腳本。
或者簡單的
echo xxx|sudo -S xxxx

F. 請教一個linux shell腳本中如何實現類似 ftp 這種需要輸入用戶名密碼之類的信息功能的問題

這種互動式的shell試著用expect實現下,可以實現無需輸入用戶名和密碼

G. linux里的su命令需要輸入密碼,如何在shell腳本里實現自動輸入su命令和密碼

看過man su了,su並不帶輸入密碼的參數,所以需要使用su命令切換用戶的話,只能手動輸入密碼。

H. Linux。。shell 腳本中經常要用到ssh。可是ssh又要互動式輸密碼。怎麼能不交互的輸密碼呢

1、登錄A機器
2、ssh-keygen -t [rsa|dsa],將會在~/.ssh下生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、將 .pub 文件復制到B機器的 .ssh 目錄, 並 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,從A機器登錄B機器的目標賬戶,不再需要密碼了(直接運行 #ssh 192.168.1.100 )

面交互輸入,就得使用expect腳本,例:
#!/bin/bash
passwd='123456'
/usr/bin/expect <<-EOF
set time 30
spawn ssh [email protected]
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$passwd\r" }
}
expect "*#"
send "cd /home/trunk\r"
expect "*#"
send "ls\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF

I. 如何使用shell腳本修改linux的登陸密碼

以root用戶為例:
第一種:
echo 「123456″ | passwd –stdin root
優點:方便快捷
缺點:如果你輸入的指令能被別人通過history或者其他方式捕獲,那麼這樣的方式是很不安全的,更重要的是如果密碼同時含有單引號和雙引號,那麼則無法通過這種方法修改。
說明:
批量修改linux密碼 passwd –stdin user 從標准輸入中讀取密碼,所以用戶可以在腳本中使用如 echo NewPasswd | passwd –stdin username 這種方式來批量更改密碼 但在其它的一些發行版(如Debian/Suse)所提供的passwd並不支持–stdin這個參數
第二種:
a. 首先將用戶名密碼一起寫入一個臨時文件.
cat chpass.txt
root:123456
zhaohang:123456
b. 使用如下命令對用戶口令進行修改:
chpasswd < chpass.txt
c. 可以使用 123456 來登錄系統,密碼修改完畢.
優點:可以很快速方便的修改多個用戶密碼
缺點:明文密碼寫在文件里仍然顯得不夠安全,但是避免了第一種修改方式不能有特殊字元串密碼的情況.
第三種:
a. 用 openssl passwd -1 來生成用戶口令,連同用戶名一起寫入文件.
cat chpass.txt
root:$1$ri2hceVU$WIf.firUBn97JKswK9ExO0
zhaohang:$1$i/Gou7.v$Bh2K6sXmxV6/UCxJz8N7b.
b. 使用如下命令對用戶口令進行修改:
chpasswd -e < chpass.txt
c. 可以使用 123456 來登錄系統,密碼修改完畢.

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

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腳本輸入密碼相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163