리눅스
리눅스의 일반 계정에서 암호 없이 특정 계정으로 전환하는 방법
변군이글루
2026. 2. 23. 14:08
반응형
리눅스의 일반 계정에서 암호 없이 특정 계정으로 전환하는 방법
일반 계정(local_user1)이 서비스 계정(common_service1)으로 비밀번호 입력 없이 전환(sudo)할 수 있도록 설정하는 방법입니다.
1. 서버 측 설정 (sshdServer: 192.168.0.111)
계정 생성 (홈 디렉토리 생성 및 기본 쉘 지정)
- 일반 계정 생성
sudo useradd -m -s /bin/bash local_user1
echo 'local_user1:local_user1' | sudo chpasswd
- 서비스 계정 생성
sudo useradd -m -s /bin/bash common_service1
echo 'common_service1:common_service1' | sudo chpasswd
sudo 권한 설정
local_user1 계정이 common_service1 계정으로 모든 명령을 비밀번호 없이 실행할 수 있도록 sudoers 규칙을 추가합니다.
echo "local_user1 ALL=(common_service1) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/service_access > /dev/null
728x90
2. 클라이언트 접속 및 계정 전환 (sshClient: 192.168.0.112)
일반 계정으로 서버 접속
ssh local_user1@192.168.0.111
서비스 계정으로 전환 (패스워드 입력 없이 즉시 전환)
sudo -u common_service1 -i
common_service1@sshdServer:~$
- 정상적으로 설정되었다면 sudo -l -u common_service1 명령어를 입력했을 때 local_user1이 실행할 수 있는 common_service1 권한의 명령어 목록이 나타납니다.
설정 확인
sudo 권한 확인 (sshdServer: 192.168.0.111)
sudo -l -u common_service1
Matching Defaults entries for local_user1 on sshdServer:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User local_user1 may run the following commands on sshdServer:
(common_service1) NOPASSWD: ALL
전환 결과 확인 (sshClient: 192.168.0.112)
whoami
common_service1
728x90
반응형