이 문서는 Ubuntu 시스템에서 사용자 계정과 파일/디렉토리 권한을 관리하는 방법을 초보자를 위해 설명합니다.
1. 사용자(User)와 그룹(Group)의 기본 개념
- 사용자(User): 시스템에 로그인할 수 있는 계정. 각 사용자에게 UID(고유 ID)가 부여됨.
- 그룹(Group): 사용자 집합. 권한을 공유할 수 있는 단위. 하나의 기본 그룹(primary group)과 여러 보조 그룹(supplementary group)에 속할 수 있음.
- 각 파일과 디렉토리는 소유자(owner), 그룹(group), 기타 사용자(other)에 대한 권한을 가짐.
2. 사용자 관리 명령어
▣ 사용자 생성
sudo adduser 사용자명
- 홈 디렉토리 자동 생성 (/home/사용자명)
- 로그인 셸 기본값: /bin/bash
- 기본 그룹과 동일한 이름의 그룹 자동 생성
▣ 사용자 삭제
sudo deluser 사용자명
sudo deluser --remove-home 사용자명
- –remove-home: 홈 디렉토리 및 메일 스풀 제거
▣ 사용자 정보 변경
sudo usermod -s /bin/zsh 사용자명 # 셸 변경
sudo usermod -d /home/new 사용자명 # 홈 디렉토리 변경
sudo usermod -l 새이름 기존이름 # 사용자명 변경
▣ 사용자 비밀번호 설정 및 변경
sudo passwd 사용자명
3. 그룹 관리
▣ 그룹 생성 및 삭제
sudo addgroup 그룹명
sudo delgroup 그룹명
▣ 사용자 그룹 추가/제거
sudo usermod -aG 그룹명 사용자명 # 보조 그룹 추가
sudo gpasswd -d 사용자명 그룹명 # 그룹에서 제거
▣ 사용자 그룹 확인
groups 사용자명
id 사용자명
4. 파일 및 디렉토리 권한
▣ 권한 구조
-rwxr-xr-- 1 user group ... 파일명
- 첫 문자: 파일 타입 (-: 일반파일, d: 디렉토리)
- r: 읽기, w: 쓰기, x: 실행
- 첫 3자: 소유자 권한 / 다음 3자: 그룹 권한 / 마지막 3자: 기타 사용자 권한
▣ 권한 변경 (chmod)
chmod 755 파일명 # rwxr-xr-x
chmod u+x 스크립트.sh # 소유자에게 실행 권한 추가
chmod o-r 파일명 # 기타 사용자 읽기 권한 제거
▣ 소유자 및 그룹 변경 (chown)
sudo chown 사용자명 파일명
sudo chown 사용자명:그룹명 파일명
sudo chown -R 사용자:그룹 디렉토리명
5. sudo 권한 관리
▣ 사용자에게 sudo 권한 부여
sudo usermod -aG sudo 사용자명
▣ sudoers 파일 편집
sudo visudo
- visudo는 문법 검사 기능이 내장된 안전한 편집기
- 예: 사용자명 ALL=(ALL:ALL) ALL
6. 로그인 셸 및 홈 디렉토리
▣ 셸 변경
chsh -s /bin/zsh 사용자명
▣ 홈 디렉토리 이동 시 절차
sudo usermod -d /home/new 사용자명
sudo mv /home/old /home/new
sudo chown -R 사용자명:그룹명 /home/new
7. 고급 사용자 설정
▣ 비밀번호 만료 정책 설정
sudo chage -l 사용자명 # 현재 정책 보기
sudo chage -M 90 사용자명 # 최대 사용일수 90일로 설정
▣ 계정 잠금 및 잠금 해제
sudo passwd -l 사용자명 # 잠금
sudo passwd -u 사용자명 # 잠금 해제
❏ 참고 파일 경로
파일 경로 | 설명 |
/etc/passwd | 사용자 계정 정보 |
/etc/shadow | 암호 및 만료 정보 (루트만 읽기 가능) |
/etc/group | 그룹 정보 |
/etc/sudoers | sudo 권한 설정 파일 (visudo로 편집) |
❏ 요약
작업 내용 | 명령어 예시 |
새 사용자 생성 | sudo adduser alice |
사용자 삭제 (홈 포함) | sudo deluser –remove-home alice |
그룹 추가 | sudo addgroup devteam |
그룹에 사용자 추가 | sudo usermod -aG devteam alice |
sudo 권한 부여 | sudo usermod -aG sudo alice |
실행 권한 부여 | chmod +x script.sh |
소유권 변경 | sudo chown alice:devteam 파일명 |
이 문서는 CLI 위주로 구성되어 있으며, GUI 도구(gnome-control-center, Cockpit) 사용법은 별도 문서에서 다룰 수 있습니다.