루트 사용자에게 비밀번호가 없는 Fedora VPS가 있습니다. SSH 키를 사용하여 로그인합니다.
네트워크 관리를 위해 이 서버에 권한이 낮은 또 다른 계정이 있습니다. 이제 비밀번호도 제거했습니다.
예를 들어, 서버에 비밀번호를 가진 사용자가 없는 경우 SSH 키를 분실하면 정확히 어떻게 되나요? 로그인할 수 없어 서버를 영구적으로 사용할 수 없나요?
sudo
또한 루트나 호출 사용자 모두 비밀번호가 없을 때 프로그램은 어떻게 실행됩니까? 시도해 보았는데 비밀번호를 묻지도 않았습니다. user ALL=(ALL) ALL
sudoers 파일에 해당 줄이 있어서 작동했습니다(변경해야 할까요?).
답변1
파일의 두 번째 필드를 제거하면 /etc/passwd
사용자는 아무런 어려움 없이 로그인할 수 있습니다. 로그인을 허용하려면 로그인해 보세요. 그래서 이와 같은 일은 당신이 하고 싶은 일이 아닐 수도 있습니다.
root:$1$iM/2lekk$rXUAcF5fY8ddLL.B1bkH63:12242:0:99999:7:::
/etc/passwd 시작하기
- 사용자 이름: 사용자가 로그인할 때 사용됩니다. 길이는 1~32자 사이여야 합니다.
- 비밀번호: x 문자는 암호화된 비밀번호가 /etc/shadow 파일에 저장되어 있음을 나타냅니다.
- 사용자 ID(UID): 각 사용자에게는 사용자 ID(UID)가 할당되어야 합니다. UID 0(영)은 루트용으로 예약되어 있고, UID 1-99는 기타 사전 정의된 계정용으로 예약되어 있습니다. 또한 UID 100-999는 관리 및 시스템 계정/그룹을 위해 시스템에서 예약되어 있습니다.
- 그룹 ID(GID): 기본 그룹 ID(/etc/group 파일에 저장됨)
- 사용자 ID 정보: 댓글 입력란입니다. 이를 통해 사용자의 이름, 전화번호 등과 같은 사용자에 대한 추가 정보를 추가할 수 있습니다. 이 필드는 손가락 명령을 통해 사용됩니다.
- 홈 디렉터리: 사용자가 로그인하는 디렉터리의 절대 경로입니다. 디렉터리가 존재하지 않으면 사용자 디렉터리는 /가 됩니다.
- 명령/셸: 명령 또는 셸의 절대 경로(/bin/bash)입니다. 일반적으로 이것은 쉘입니다. 쉘일 필요는 없습니다.
다음에서 빌림/etc/passwd 파일 형식 이해
비밀번호 로그인 비활성화
필드가 비어 있는 것과 파일에 x( :x:
) 및 :!:
a가 포함된 것 사이에는 약간의 차이가 있습니다 /etc/shadow
. 이는 계정이 의도적으로 로그인을 허용하지 않도록 설정되었음을 의미하며, 이는 귀하의 요구 사항에 더 적합할 수 있습니다.
/etc/shadow
root:!:15669:0:99999:7:::
모든 계정에 대해 동일한 작업을 수행할 수 있습니다. 공개/개인 키를 사용한 로그인을 허용하려는 경우 ssh
아마도 이 방법을 권장할 것입니다.
다른 문제
예를 들어, 서버에 비밀번호를 가진 사용자가 없는 경우 SSH 키를 분실하면 정확히 어떻게 되나요? 로그인할 수 없어 서버를 영구적으로 사용할 수 없나요?
서버에 물리적으로 액세스할 수 있는 한 언제든지 시스템에 액세스할 수 있습니다. 재부팅이 필요합니다. VPS에서는 다소 어려울 수 있지만 가능합니다.
일반적으로 시스템을 단일 사용자 모드로 부팅하면 /etc/passwd
필요에 따라 파일을 편집할 수 있습니다./etc/shadow
또한 루트나 호출 사용자 모두 비밀번호가 없을 때 sudo 프로그램은 어떻게 실행됩니까? 시도해 보았지만 비밀번호를 묻지도 않았습니다. sudoers 파일에 해당 사용자에 대한 ALL=(ALL) ALL 줄이 있었기 때문에 작동했습니다(변경해야 할까요?).
예, sudo
비밀번호 없이는 사용하기가 더 어렵습니다. 처리할 때 다른 소스를 사용하는 방법이 있습니다 sudo
. 다음 제목의 U&L Q&A를 참조하세요.sudo 비밀번호를 로그인 비밀번호와 다르게 설정하세요..
답변2
"비밀번호 제거"라고 할 수 있는 몇 가지 사항이 있다는 점에 유의하세요. 리눅스의 경우:
passwd -d USER
비밀번호 없이 로그인할 수 있도록 계정을 설정하세요. (일부 서비스, 특히 ssh는 이 경우 로그인을 차단하도록 설정되는 경향이 있습니다.)passwd -l USER
계정 비밀번호 잠금: 비밀번호는 허용되지 않습니다. SSH 키나 sudo 등 다른 수단을 통해 로그인하는 것은 여전히 가능합니다.usermod -e 1 USER
계정 잠금(비밀번호 만료일을 과거 날짜로 설정): 어떤 서비스에서도 계정에 로그인할 수 없습니다.
두 번째 의미를 의미한다고 가정합니다. 이러한 계정은 비밀번호로 로그인할 수 없도록 만들었지만 여전히 키를 사용하거나 sudo를 사용하여 ssh를 통해 액세스할 수 있습니다.
계정의 비밀번호를 비활성화하면 더 이상 sudo를 사용할 수 없습니다.sudo가 비밀번호를 다시 묻는 메시지를 표시하지 않는 유예 기간이 있습니다. 이후에 기본 구성을 특이한 방법으로 변경하지 않는 한 sudo는 비밀번호를 묻는 메시지를 표시하며 더 이상 비밀번호가 없기 때문에 비밀번호를 입력할 수 없습니다. 이는 라벨이 있는 sudoers 규칙에는 적용되지 않습니다 NOPASSWD
.
비밀번호를 제거하는 것은 강력한 비밀번호를 선택하는 것보다 더 안전하지 않습니다. VPS가 가상 콘솔에 로그인하는 방법을 제공하는 경우 루트 계정에 대한 긴 무작위 비밀번호를 생성하고 작동하는지 테스트한 후 인쇄하여 종이를 금고에 넣으십시오. 이렇게 하면 문제가 발생하는 경우(예: "죄송합니다. ssh에서 잠겼습니다." 또는 "죄송합니다. sudo에서 잠겼습니다.") 시스템에 대한 액세스를 복원할 수 있습니다. 귀하의 계정에 대해 기억할 수 있는 짧은 비밀번호를 선택하고 SSH 로그인 비밀번호를 비활성화하고(선택 사항) 비밀번호를 입력하여 sudo
루트가 됩니다. 일반 계정에서 루트로의 추가 인증 수준은 루트가 아닌 계정에 감지되지 않은 트로이 목마를 심는 것이 훨씬 더 어렵기 때문에 유용합니다.
답변3
대부분의 경우 비밀번호가 없어도 괜찮습니다.
예, SSH 키를 통한 인증만 허용하고 SSH 키를 분실한 경우 더 이상 로그인할 수 없습니다. 이 경우 일부 Live CD를 부팅하고 원본 시스템을 설치한 후 루트 비밀번호를 추가할 수 있습니다. (이러한 옵션이 없다면 만일을 대비해 루트 비밀번호를 설정하는 것이 가장 좋습니다.)
Sudo는 비밀번호를 묻지 않도록 구성할 수 있습니다. NOPASSWD:
활성화하는 옵션이 있습니다 . (바라보다 man sudoers
.)
인증에 사용할 수 있는 다른 방법도 많이 있습니다. 구성하여 활성화할 수 있습니다.폴리아크릴아미드체계.