/etc/passwd에서 mysql 사용자 셸을 교체합니다.

/etc/passwd에서 mysql 사용자 셸을 교체합니다.

mysql 사용자 쉘을 비활성화하려는 서버가 여러 개 있으므로 명령줄에서 /etc/passwd의 mysql 사용자 쉘 구성을 바꾸는 방법을 찾고 있습니다.

실제

mysql:x:498:498:MySQL server:/var/lib/mysql:/bin/bash

예상되는

mysql:x:498:498:MySQL server:/var/lib/mysql:/sbin/nologin

답변1

/etc/passwd수정을 사용 하지 마십시오 sed. 대신 파일과 상호작용하기 위해 제공된 도구를 사용하십시오.

이 경우에는 chpass/ chsh또는 더 일반적으로는 입니다 usermod.

대부분의 시스템에서:

$ sudo chpass -s /sbin/nologin mysql

또는

$ sudo chsh -s /sbin/nologin mysql

작동합니다.

(또는 / 사용)을 /etc/passwd사용하여 편집하고 싶지 않으며 ,sedvimemacs정말.sed -i

@JdeBP 사용자는 vipw아래 설명에서 이 유틸리티에 대해 상기시켰습니다. 이는 파일 잠금 등을 처리하면서 편집 visudo할 수 있는 특수 명령입니다 . /etc/passwd또한 이전 비밀번호 파일 대신 새 비밀번호 파일을 설치하기 전에 저장된 파일에 대해 일관성/구문 검사를 수행합니다. vipw자세한 내용은 시스템 설명서를 참조하세요. 이것이 비밀번호 파일을 수동으로 편집하는 유일한 안전한 방법입니다.

또한일부Unix 시스템에서는 기본 로그인 쉘이 비밀번호 파일 이외의 방법으로 설정됩니다. 예를 들어, OS X에서 일반 사용자는 /etc/passwd.

관련 정보