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
사용하여 편집하고 싶지 않으며 ,sed
vim
emacs
정말.sed -i
@JdeBP 사용자는 vipw
아래 설명에서 이 유틸리티에 대해 상기시켰습니다. 이는 파일 잠금 등을 처리하면서 편집 visudo
할 수 있는 특수 명령입니다 . /etc/passwd
또한 이전 비밀번호 파일 대신 새 비밀번호 파일을 설치하기 전에 저장된 파일에 대해 일관성/구문 검사를 수행합니다. vipw
자세한 내용은 시스템 설명서를 참조하세요. 이것이 비밀번호 파일을 수동으로 편집하는 유일한 안전한 방법입니다.
또한일부Unix 시스템에서는 기본 로그인 쉘이 비밀번호 파일 이외의 방법으로 설정됩니다. 예를 들어, OS X에서 일반 사용자는 /etc/passwd
.