SEDを使用して構成ファイル行のコメントを外し、Linux構成ファイルのテキストを置き換えます。

SEDを使用して構成ファイル行のコメントを外し、Linux構成ファイルのテキストを置き換えます。

設定ファイルの特定のパラメータを自動化しようとしています/etc/ssh/sshd_config。特に

#PermitRootLogin yes

そして

#LoginGraceTime 2m

読むべき内容:

PermitRootLogin no
LoginGraceTime 60

私はスクリプトの専門家ではありませんのでご了承ください。

スクロールを開始しようとしましたが、sed -e 's/#LoginGraceTime 2m/LoginGraceTime 60/' /etc/ssh/sshd_config奇妙な結果が出ました。ただ私が処理したいファイルが表示されます...

誰かがsedを自分で使うように言うことができますか?

ベストアンサー1

出力を一時ファイルにリダイレクトし、一時ファイルの名前を元のファイルに変更します。

sed -e 's/#LoginGraceTime 2m/LoginGraceTime 60/' /etc/ssh/sshd_config > /etc/ssh/sshd_config.tmp && mv -f /etc/ssh/sshd_config.tmp /etc/ssh/sshd_config

または、GNUがある場合は、内部編集オプションをsed使用できます。-i

sed -i -e 's/#LoginGraceTime 2m/LoginGraceTime 60/' /etc/ssh/sshd_config

おすすめ記事