[Linux] 계정 생성
/etc/ 폴더에서의 작업
사용자 분류(UID(User Identity)로 관리)
- root(관리자): UID가 0
- 일반 사용자: /etc/login.defs 에 범위 정의
해당 건 요구사항
- 다른 팀이 bastion host에서 Test 계정으로 들어올 수 있도록 설정
OS Group 및 User 생성
그룹/유저 설정 리스트 확인하여 기존에 존재하는 그룹과 사용자 정보들을 확인해준 뒤,
Test 그룹과 Test 사용자에게 부여할 GID와 UID를 정할 것
cat etc/group # 기존에 존재하는 GID 확인과 그룹 정보들 확인
cat etc/passwd # 기존에 존재하는 UID 확인과 사용자 정보들 확인
etc/passwd 예시
Test:x:1005:1005::/home/Test:/bin/sh
[사용자명]:[비밀번호]:[uid]:[gid]:[사용자 계정 설명]:[홈 디렉터리]:[셸]
UID, GID에 1005번이 아직 등록되어 있지 않으므로 1005번으로 UID와 GID를 등록
다음 명령어를 통해 1005번이 기존에 존재하는지 다시 확인
cat /etc/passwd | grep "1005"
cat /etc/group | grep "1005"
사용자를 생성하고 그룹에 사용자를 추가하기에 앞서 관리자 권한이 있는 root 계정으로 전환
sudo su -
Test 그룹을 생성하고, 해당 그룹에 Test 사용자를 할당
groupadd -g 1005 Test
useradd -u 1005 -g Test -m Test # 이제 Test@ip로 접속 가능
Test 계정에 Test.pem 키의 공개키를 삽입
Test 계정 폴더에 Test.pem키의 공개키를 넣어주기에 앞서,
기존 Test.pem 키에서 공개키를 추출해서 메모장에 복사 (기존 Test.pem 키가 위치한 곳에서 다음 명령어를 실행)
ssh-keygen -y -f Test.pem
Test 계정 폴더에 Test.pem키의 공개키가 위치할 .ssh 폴더와 공개키가 들어갈 authorized_keys 파일을 생성하여,
해당 파일에 전 단계에서 복사해 둔 공개키를 붙여주고 저장
mkdir home/Test/.ssh
vi authorized_keys
사용자가.ssh 폴더와 authorized_keys 파일에 접근할 수 있도록 권한을 설정
sudo chmod 700 /home/Test/.ssh # 폴더는 내부 파일 열람이 필요하므로 700 권한을 부여
sudo chmod 600 authorized_keys # 공개키는 실행 불가능
Test 사용자가 정상적으로 SSH 인증이 이루어지도록 .ssh 폴더의 소유자를 Test으로 변경
chown -R Test:Test /home/Test/.ssh # 파일이나 폴더의 소유자를 변경
비밀번호 만료일을 확인
chage -l Test
기존 골든 이미지를 사용했기 때문에 99999로 설정이 되어있으므로, 이 부분은 추가 수정 X
추후 Test 계정의 sudo 권한 부여를 위해 /etc/sudoers 파일에 다음과 같이 주석을 추가
## Allows people in group wheel to run all commands
#..기존 내용 생략..
Test ALL=(ALL) NOPASSWD: ALL # 추가 부분
접속 테스트
정상적으로 접속이 되는 것을 확인
ssh {본인 계정}@{Bastion_IP} # 배스천 접속
ssh -i Test.pem Test@{Test_IP} # Test 키와 계정으로 접속 테스트
# pem키는 개발자들이 가지고 있음