본문 바로가기

리눅스

리눅스의 일반 계정에서 암호 없이 특정 계정으로 전환하는 방법

반응형

리눅스의 일반 계정에서 암호 없이 특정 계정으로 전환하는 방법

일반 계정(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
반응형