기본적으로 리눅스는 다중 사용자가 한 OS에 접속해서 동시에 사용할 수 있도록 하는 서버 컴퓨터에 최적화된 OS이다. 그만큼 사용자에 대한 인증(Authentication)과 인가(Authority)가 중요할 것이다.
사용자 관리의 경험을 떠올려 보면, 작년 말 올해 초에 서버 이관을 할 일이 많았는데 그때마다 공용으로 사용할 계정을 생성하고 패스워드 부여하고 Sudoer 등록하고 하는 과정을 여러번 거쳤던 것 같다. 그리고 외부 업체에서 서버를 세팅해줬을 때에도 기본적으로 제공되는 계정을 사용하기 보다는 팀 내에 공유되어 있는 계정정보를 기반으로 새로 생성해서 전달하고 접속하고 사용하고 있다. 하지만 그렇다고 해서 계정 관리를 체계적으로 했다기보다는 좋게 말하면 기본에 충실한(?) ㅎㅎㅎ
계정 관리를 딱히 안했다.. 그래도 나름 혼자서 고군분투했다..그래도 서버 컴퓨터의 장점은 사용자에 따라 저장공간이나 권한을 구획화할수 있다는 게 아닐까? 컨테이너 오케스트레이션이 활발한 현재 아키텍처를 경험하고 있으면서... 저수준(Low Level) 이라고 하면 말이 안맞을 수도 있지만 OS 수준에서 가장 기본적이고 기본적인 유저관리를 시나리오를 세워서 정리해보자.
mkdir /home/dbm
groupadd dbm
useradd -g dbm -d /home/dbm/kitty kitty
-g dbm -d /home/dbm/kitty
-g : 그룹명으로 그룹 부여
-d : 홈디렉터리를 지정
mkdir /home/intern
useradd -D -d /home/intern -e 2022-12-31
useradd andy
useradd jacob
-D -d /home/intern -e 2022-12-31
-D : --default와 동일. useradd 기본값을 다음에 설정하는 값으로 함
-d : 홈디렉터리를 설정
-e : 만료일 설정
usermod -L max
usermod -e 2022-12-31 -f 5 hugo
-L : lock! 계정의 로그인을 lock.
-e : 만료일 설정
-f : 만료 후 n일 이후 계정 비활성화
chage -m 3 -M 30 -E 2022-12-31 -I 7 kitty
-m 3 -M 30 -E 2022-12-31 -I 7
-m : 패스워드 변경후 최소 n일 이내 사용
-M : 패스워드 변경 없이 n일 사용 가능
-E : 만료일 설정
-I : 패스워드 만기일 이후 유예기간
usermod -l oliver -d /home/oliver -m hugh
-l oliver -d /home/oliver -m
-l : 변경하고자 하는 계정
-d : 변경하고자 하는 디렉터리
-m : 디렉터리 밑 파일을 변경된 홈디렉터리로 옮김
pwconv
pwconv
pwck
pwck
groupadd -g 1000 webmanager
mkdir /home/webmanager
chgrp webmanager /home/webmanager
chmod 750 /home/webmanager
grpconv
groupadd admin
gpasswd -A kitty admin
groupmod -n admingrp admin
passwd -d dougie
chage -d 18523 -E 2023-06-30 dougie