Linux(CentOS/RHEL) 환경에서의 기본적인 사용자 계정 생성, 비밀번호 설정, 그리고 파일 권한(Permission) 및 소유권(Ownership) 관리를 위한 필수 명령어 정리 노트입니다.
1. 사용자 계정 관리 (User Management)
리눅스 시스템에서 사용자를 추가하고, 비밀번호를 설정하며, 계정 정보를 확인하는 방법입니다. 모든 작업은 root 권한이 필요합니다.
계정 생성 및 비밀번호 설정
useradd 명령어로 계정을 생성하고 passwd로 비밀번호를 설정합니다. (CentOS 계열에서 adduser는 useradd의 심볼릭 링크입니다.)
- useradd [옵션] [계정명]: 계정 생성
- passwd [계정명]: 비밀번호 설정 (생략 시 현재 로그인된 계정의 비밀번호 변경)
# 1. 기본 생성 예시
[root@localhost ~]# useradd testuser
[root@localhost ~]# passwd testuser
Changing password for user testuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 2. 옵션을 지정하여 상세 생성 예시
# -d: 홈 디렉토리 지정
# -u: UID 지정 (500번대 이상 권장)
# -g: GID 지정 (기존 그룹)
# -c: Comment (사용자 설명)
# -s: 쉘 지정 (/bin/bash 등)
[root@localhost ~]# useradd -d /home/was -u 510 -g 500 -c "WAS Admin" -s /bin/bash wasadmin
계정 관련 주요 파일 경로
- /etc/passwd: 사용자 계정 정보가 저장됨 (형식:
User:PWD:UID:GID:Comment:Home:Shell) - /etc/group: 그룹 정보가 저장됨
기타 유용한 명령어
su - [계정명]: 해당 계정으로 로그인 (환경변수 로드 포함)usermod: 계정 속성 수정 (옵션은 useradd와 유사)userdel -r [계정명]: 계정 및 홈 디렉토리까지 완전 삭제
2. 권한 관리 (Permission - chmod)
리눅스는 다중 사용자 시스템이므로 파일과 디렉토리에 대해 읽기(r), 쓰기(w), 실행(x) 권한을 엄격히 구분합니다.
권한 표기법 (Octal vs Symbolic)
- r (Read, 4): 파일 읽기 / 디렉토리 목록 확인
- w (Write, 2): 파일 수정 / 디렉토리 내 파일 생성 및 삭제
- x (Execute, 1): 파일 실행 / 디렉토리 진입(cd)
권한 합산 예시:
- 7 (rwx) = 4 + 2 + 1 : 모든 권한
- 5 (r-x) = 4 + 0 + 1 : 읽기 및 실행
- 6 (rw-) = 4 + 2 + 0 : 읽기 및 쓰기
chmod 사용 예제
# 1. 심볼릭 모드 (u:소유자, g:그룹, o:기타)
chmod u+x run.sh # 소유자에게 실행 권한 추가
chmod g-w data.txt # 그룹에게 쓰기 권한 제거
# 2. 8진수 모드 (실무에서 가장 많이 사용)
chmod 755 script.sh # 소유자(rwx), 그룹(rx), 기타(rx)
chmod 644 config.conf # 소유자(rw), 그룹(r), 기타(r) - 일반적인 설정 파일
chmod 600 private.key # 소유자(rw)만 접근 가능 - 보안 중요 파일
# 3. 재귀적 변경 (-R 옵션)
chmod -R 755 /var/www/html # 하위 디렉토리 및 파일 전체 적용
3. 소유권 관리 (Ownership - chown)
파일이나 디렉토리의 소유자(Owner)와 소유 그룹(Group)을 변경할 때 사용합니다. 주로 파일 전송 후 권한을 맞출 때 사용됩니다.
# 소유자만 변경
chown user1 file.txt
# 소유자와 그룹을 동시에 변경 (소유자:그룹)
chown was:wasgroup app.log
# 디렉토리 하위 모든 파일의 소유권 변경 (-R)
chown -R apache:apache /var/www/html
4. 파일 정보 확인 및 해석 (ls -al)
ls -al 명령어를 통해 현재 권한 상태를 정확히 파악하는 것이 중요합니다.
drwxr-xr-x 2 root root 4096 Dec 9 10:00 etc
---------- - ---- ---- ---- ----------- ---
(1) (2) (3) (4) (5) (6) (7)
- 파일 타입 및 권한: 첫 글자가
d면 디렉토리,-면 파일. 이후 3자리씩 소유자/그룹/기타 권한. - 링크 수: 하드 링크의 개수.
- 소유자(User): 파일의 소유 계정 ID.
- 소유 그룹(Group): 파일의 소유 그룹 ID.
- 파일 크기: Byte 단위 크기.
- 수정 시간: 마지막 수정 날짜.
- 파일 이름: 파일명.
Next Step:
기본적인 권한 관리에 익숙해졌다면, SetUID, SetGID, Sticky Bit와 같은 특수 권한 설정을 학습하여 보안 레벨을 한 단계 높여보시기 바랍니다.