2015-01-21 4 views
2

OSX sed을 사용하여 PermitRootLogin을 활성화하는 방법을 알아 내려고하고 있습니다.sed를 사용하여 OSX에서 PermitRootLogin 설정

처음에는 빈 문자열을 입력해야하는 OSX sed 문제에 대해 알고 있습니다. #PermitRootLogin 예 또는 #PermitRootLogin 더 다음 PermitRootLogin yes

로 교체하면 내가있어

:

sudo sed -i '' 's/#PermitRootLogin no/PermitRootLogin yes/g' /etc/sshd_config 

그러나이하지 않는 난 그냥 정규식이 필요

내가 실제로 할 필요가 없습니다 포함 할 경우 ##PermitRootLogin yes

+0

두 줄로 표시 's/s /'를 대체 하시겠습니까? –

답변

2

OS X의 sed 버전에는 pa가 필요합니다. 백업 파일 접미어에 대한 -i 이후의 숫양. 이 접미사 및 /etc/sshd_config로 나오지 편집 명령으로 s/.../.../ 명령을 복용이 인수없이

sed -i '' 's/^#?PermitRootLogin \(no\|yes\)/PermitRootLogin yes/' /etc/sshd_config 

: 백업 파일을 원하지 않는 경우

, 당신은 명시 적으로 빈 문자열을 제공해야합니다.

Snow Leopard와 El Capitan 사이에이 SSH 구성 파일의 위치가 /etc/sshd_config에서 /etc/ssh/ssh_config으로 옮겨 졌음에 유의하십시오.

+0

좋아요, sed가 제대로 작동하고 있지만 정규 표현식이 아직 작동하지 않습니다 ... –

+0

명령의 시작 부분에 여분의's /'가 있습니다. 또한,'|'는 대안을 형성하기 위해''sed' '에 저장 될 필요가 있습니다. – Barmar

+0

은 최소한/etc/ssh/sshd_config' 인 것 같습니다. 10.12 –

관련 문제