시스템에서 사용자를 비활성화하는 프로그램을 작성 중입니다 /bin/bash
./bin/false.
예
xxx:x:1:22:xx:/export/home/xx:**/bin/bash**
교체하다
xxx:x:1:22:xx:/export/home/xx:**/bin/false**
bash 스크립트를 사용하고 싶습니다.
이를 수행하는 한 가지 방법은 sed
. 하지만 저는 정규 표현식을 잘 못합니다.
누구든지 도와줄 수 있나요?
답변1
sed
음 , 정규 표현식 으로는 전혀 작업을 수행하지 않습니다 . 당신이하는 일은 프로그램을 사용하는 것입니다chsh사용자의 쉘을 변경합니다.
chsh -s /bin/false username
대안적으로:
usermod -s /bin/false username
실제 쉘로 교체하려면 해당 쉘이 에 나열되어 있는지도 확인해야 합니다 /etc/shells
.
답변2
chsh
항상 이용 가능한 것은 아니니 참고해주세요 ! ~에알파인예를 들어 Linux 또는 다음을 사용하는 임베디드 시스템비지박스..
간단한 인라인 sed
명령:
sed -i '/www-data/s/false/sh/g' /etc/passwd
(이 예는 쉘을 다음에서 변경합니다./빈/거짓에게/bin/sh사용자를 위한www-데이터)