2017-04-13 4 views
0

私は、Windowsと互換性のあるパスワードを使用して、コンピュータのユーザのアカウントをシステムパスワードとして使用するスクリプトを用意しています。bashのWindows互換パスワード

私はそれらをエスケープしてアカウントを作成するために渡すと文字通り取り上げられる問題にぶつかりました。シングル 'と二重 "引用符がWindowsで許可されています。

例ユーザーが入力し はハロー\のようにエスケープhello'world『世界とハロー\』世界としてデータベースに保存されている。 ユーザ入力の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]:~ $ 
関連する問題