pam.d 디렉토리에 있는 sshd 파일에서 일치하는 줄 뒤에 줄을 삽입하고 싶습니다.
예를 들어 다음 줄을 검색해야 합니다.
account required pam_nologin.so
행을 삽입해야합니다
account required pam_access.so
바로 아래에는 단어 사이에 적절한 간격이 있습니다.
저는 sed와 awk를 처음 접했기 때문에 도움을 주시면 대단히 감사하겠습니다.
답변1
이렇게 하면 작동합니다(stdin에서 읽고 테스트를 위해 stdout으로 인쇄).
sed -e '/^account required pam_nologin\.so$/a account required pam_access.so'
이 a
명령은ㅏ"account require pam_nologin.so"로 구성된 줄인 일치하는 줄에 텍스트를 추가합니다.
해당 스위치를 사용하려면 -i
(파일을 제자리에서 편집) -i .bak
다음을 사용하여 원본 파일의 백업을 유지하는 것이 좋습니다.
sed -i .bak -e '/^account required pam_nologin\.so$/a account required pam_access.so' /etc/pam.d/sshd
답변2
좋은 오래된 것을 사용하십시오 ed
:
ed /etc/pam.d/sshd << EOT
/account required pam_nologin.so/
a
account required pam_access.so
.
w
EOT
주소 /account required pam_nologin.so/
는 한 줄입니다.
이 a
명령은 편집기 버퍼에 텍스트를 추가하는 데 사용됩니다.
텍스트 account required pam_access.so
가 버퍼에 입력됩니다.
.
명령 모드로 돌아갑니다.
w
파일에 버퍼를 씁니다.