sshd_config
コマンドラインからいくつかの構成設定を変更したいと思いますUsePAM
。「問題」は、システムに応じて、既存の構成ファイルに設定yes
またはのエントリが1つしかないかno
、両方の行があり、そのうちの1つがコメントアウトされているか、設定がまだ存在せず、デフォルトに依存していることです。価値。案の定、私は簡単にできる
sed -i '/^.*UsePAM/d;' /etc/sshd_config # remove all occurrences so far
echo "UsePAM yes" >> /etc/sshd_config # append the new value to the end
(セクションが含まれていない限り)、しかしそれは最適ではありません。アルゴリズムを手動で実装する小さな Python プログラムを作成できます。
if setting not present:
append it to the correct section
elif setting present both commented and not:
swap commenting if necessary
else:
set/uncomment the single occurrence of the setting
しかし、これにはもっと簡単な手段がありますか?