pam.d 내의 sshd에서 일치하는 줄 뒤에 줄을 삽입하십시오.

pam.d 내의 sshd에서 일치하는 줄 뒤에 줄을 삽입하십시오.

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파일에 버퍼를 씁니다.

관련 정보