私は確かに、私はラインに渡すどんな文字列をそのようにしたいwpa-ssid "abc"
で/etc/network/interfaces
構成を抜け出すために使用されることはありません。
私がマニュアルで見つけること\
ができるのは、次の行に進むために行の終わりで使用できることだけです。
しかし\"
、行の途中ではどうでしょうか?
私の心配はSSIDのようなものです
A"
up rm -rf /\
SSIDフィールドへの任意の文字に使用できる一般的なエンコーディングはありますか?
Debian /etc/network/interfaces
(またはDebianのifupdownユーティリティを使用する他のディストリビューション)では、バックスラッシュと改行のシーケンスが削除され、バックスラッシュは他の場所では特別ではありません。二重引用符も特別ではありません。#
(非継続)行の最初の非空白文字である場合、その文字はコメントを開始します。ヌルバイトは改行文字として扱われます(パーサーはC文字列を使用し、ヌルバイトを特別に処理しないため、さらにいたずらが発生する可能性があります)。
構成行は、オプション名の後に値が続き、空白で区切られた形式を取ります。先頭と末尾の空白は無視されます。一部の組み込みオプションは、行をさらに解析して単語にします。オプションの値はiface
常に行末まで実行されます。
たとえば、行
wpa-ssid "a b" "cd"
オプションwpa-ssid
を12文字の文字列に設定します"a b" "cd"
(内部の空白は保持されます)。
WPAサプリカントのifupdownスクリプトは、wpa-ssid
構成文字列の最初と最後で二重引用符を取り除きますwpa-ssid a b" "cd
。上の行は。と同等です。このようにして、SSIDに先頭と末尾の空白を含めることができます。
WPAサプリカントのifupdownスクリプトに引用の問題が見つからないため、ifupdownが生成するものはすべて安全であるように見えます。
したがって/etc/network/interfaces
、改行またはヌルバイトが含まれていない限り、SSIDとして任意の文字列をに挿入することを許可できます。文字列を二重引用符で囲みます(そうでない場合、先頭または末尾に空白がある、またはで終わる\
、またはで始まるまたは終わるSSIDは"
マングルされます)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加