2017-04-13 72 views
0

我有一個腳本,需要Windows兼容密碼,並使用它們爲計算機上的用戶創建一個帳戶,並將其作爲系統密碼。在bash中的Windows兼容密碼

我遇到了一個問題,如果我將它們轉義並通過它來創建帳戶,那麼它就是從字面上理解的。單',雙「行情被允許在窗口。

示例用戶進入hello'world 轉義爲你好\‘世界和存儲在數據庫中爲hello \’世界。 用戶輸入登錄hello'world。 電腦預計你好\'世界爲正確的密碼,用戶無法登錄

添加代碼:

echo "somepass" | sudo -S /Applications/Setup\ user.app/Contents/Resources/nugget "Joe User" "juser" "ju$er'Pa$$".345" 

本質上創建用戶帳戶,另一個管理員帳戶已經被使用,密碼從設置gui where ju $ er'Pa $$「。345進入並從那裏出發ser可以很好地登錄。

+0

然後你逃避他們錯了。 –

+0

@ IgnacioVazquez-Abrams是的,這對我來說很明顯。我不會問我是否知道正確的方法。 –

+0

請添加您正在使用的腳本/代碼。並且不要在幾個SE網站上發佈相同的問題。 – patrix

回答

0

這是做你想做的嗎? (顯然你需要一個安全的方法來檢索密碼,從read輸入或從文件句柄或管道中讀取)。

[email protected]:~ $ read -r password ; printf '%q\n' "$password" 
ju$er'Pa$$".345 
ju\$er\'Pa\$\$\".345 
[email protected]:~ $