Kong Eunho

권한

2025년 10월 16일 16시
카테고리 - LECTURE, 서버프로그래밍


서버프로그래밍(황승연) 6주차 강의내용

파일 접근 권한 설정

파일 속성
ls -l : 파일에 대한 상세한 정보 출력.

-rw-rw-r– 1 renio renio 54 5월 10 09:39 access.txt

속성 값 의미
- 파일의 종류 (-는 일반파일, d는 디렉터리)
rw- r-- r-- 파일을 읽고(rw-), 쓰고(r--), 실행(r--)할 수 있는 접근 권한
1 하드 링크의 수
renio 파일 소유자의 로그인 ID
renio 파일 소유자의 그룹 이름
54 파일의 크기 (byte 단위)
5월 10 09:39 파일을 최종 수정한 일자와 시각
access.txt 파일명

파일 접근 권한
접근 권한의 종류 : 읽기(r), 쓰기(w), 실행(x)

접근 권한 파일 디렉터리
읽기 (r) 해당 파일을 읽거나 복사 가능 ls 명령으로 디렉터리의 목록을 확인 (옵션은 실행 권한이 있을 경우만 허용)
쓰기 (w) 파일을 수정, 이동, 삭제 가능 (디렉터리에 쓰기 권한 있어야함) 해당 파일을 삭제하거나 생성할 수 있음
실행 (x) 셸 스크립트 또는 실행파일에 대한 실행 가능 cd 명령 사용 가능하며 파일을 디렉터리로 이동 또는 복사 가능

chmod [옵션] [권한] [파일명] : 파일 접근 권한 변경.
-R 옵션 : 하위 디렉터리까지 모든 접근 권한 변경.

심볼릭 모드 : 기호(rwx-)를 이용한 접근 권한 변경 방법.

구분 문자/기호 의미
사용자
카테고리 문자
u 파일 소유자
g 파일 소유자가 속한 그룹
o 파일 소유자와 그룹 이외의 기타 사용자
a 파일을 사용하려는 전체 사용자
연산자 기호 + 파일 접근 권한 부여
- 파일 접근 권한 제거
= 파일 접근 권한 설정
접근 권한 문자 r 파일 읽기권한
w 파일 쓰기 권한
x 파일 실행 권한
권한 조합 의미
u+w 파일 소유자에게 쓰기(w) 권한 부여
u-w 파일 소유자에게 쓰기(w) 권한 제거
u=rwx 파일 소유자에게 쓰기(w), 읽기(r), 실행(x) 권한 설정
u+x,go+w 소유자에게 실행(x) 권한 부여와 그룹 및 기타 사용자에게 쓰기(w) 권한 부여
g+w 파일 그룹에게 쓰기(w) 권한 부여
g+wx 파일 그룹에게 쓰기(w)와 실행(x) 권한 부여
go+w 그룹과 기타 사용자에게 쓰기(w) 권한 부여
+wx 파일을 사용하려는 모든 사용자에게 쓰기(w)와 실행(x) 권한 부여
a+rwx 모든 사용자에게 쓰기(w), 읽기(r), 실행(x) 권한 부여
o-r 파일 기타 사용자에게 읽기(r) 권한 제거

심볼릭 모드에서는 chmod 명령과 함께 기호를 조합하여 접근 권한 변경 가능.
조합된 각 기호 사이를 공백 없는 콤마로 구분하여 여러 사용자의 권한을 한번에 변경 가능.
입력 예 : chmod u+w,o-w access.txt
소유자에게 읽기 권한 부여, 기타 사용자에게 읽기 권한 제거.

숫자 모드 : 숫자(0-7)를 이용한 접근 권한 변경 방법.
숫자 모드는 2진수 형태로 권한 여부를 설정하며, 각 사용자마다 8진수로 변환하여 관리.

권한 표기 2진수 8진수 접근 권한 예시
rwx 111 7 (4+2+1) rwx rwx rwx → 777
rw- 110 6 (4+2+0) rwx r-x r-x → 755
r-w 101 6 (4+0+1) rw- rw- rw- → 666
r-- 100 4 (4+0+0) r-x r-x r-x → 555
-wx 011 3 (0+2+1) rw- r-- r-- → 644
-w- 010 2 (0+2+0) rwx --- --- → 700
--x 001 1 (0+0+1) rw- r-- --- → 640
--- 000 0 (0+0+0) r-- --- --- → 400

입력 예 : chmod 755 access.txt
소유자에게 모든 권한 부여, 그룹과 기타 사용자에게 읽기, 실행 권한 부여.

관리자 권한 실행

관리자 계정 접속
$ : 일반 사용자 계정의 프롬프트 모양.
# : 관리자 계정의 프롬프트 모양.
su [옵션] [계정명] : 접속한 계정 변경.

옵션 설명
-c 셸을 실행하지 않고 주어진 명령만 수행
-s 지정된 셸로 접속
-, -l 지정한 사용자의 환경변수를 적용하여 접속

입력 예 : su renio
exit를 입력하여 원래 사용자 계정으로 복귀.
입력 예 : su - root
“-“ 옵션을 사용하지 않는다면 root의 셸 환경변수를 가져오지 않음.
온전한 관리자 계정 사용을 위해서는 - 옵션이 필요.

sudo [옵션] [계정명] : 관리자 권한으로 명령.
일반 사용자 계정으로 접속된 상태에서 관리자 계정의 권한을 빌려서 명령을 수행.
-s 옵션 : 현재 디렉터리를 유지.

입력 예 : sudo passwd root
root 계정의 암호를 설정.

사용자 계정 관리
adduser [옵션] [생성할 계정명] : 사용자 계정 생성.

옵션 설명
-c 사용자 이름 등 부가적인 설명 지정
-d 사용자 계정의 홈 디렉터리 지정
-D 기본 설정값을 출력하거나 설정
-e 유효기간 설정(YYYY-MM-DD)
-f 사용자 계정의 유효일자(-f-175 : 앞으로 175일간 사용 가능)
-g 사용자 계정의 로그인 기본그룹 GID 지정
-G 2차 그룹의 GID 지정
-o 사용자 계정의 UID 중복 허용
-p 사용자 계정의 패스워드
-s 사용자 계정의 기본 셸 지정
-u 사용자 계정의 UID 지정

ls /home 명령을 통해 사용자 계정 목록 확인 가능.
/etc/passwd 파일에 사용자 계정의 정보가 저장됨.

member_001:x:1001:,,,:/home/member_001:/bin/bash 순서대로 로그인 ID, 암호저장 항목, UID, GID, 설명, 홈 디렉터리, 로그인 셸.

usermod [옵션] [계정명] : 사용자 계정정보 수정.

옵션 설명
-c 사용자 이름 등 부가적인 설명 수정
-d 사용자 계정의 홈 디렉터리 수정
-e 사용자 계정 만료일(유효기간) 수정 (YYYY-MM-DD)
-f 사용자 계정 비활성화 일자 수정
-g 사용자 계정의 로그인 기본그룹 GID 수정
-G 2차 그룹의 GID 수정
-l 사용자 계정 이름 변경
-o 사용자 계정의 UID 중복 허용
-s 사용자 계정의 기본 셸 수정
-u 사용자 계정의 UID 수정

입력 예 : usermod -u 2001 member_001
member_001 계정의 UID를 2001로 변경.

userdel [옵션] [계정명] : 사용자 계정 삭제.

옵션 설명
-r 홈 디렉터리 삭제
-f 사용 중인 계정 이름도 강제 삭제
-rf 홈 디렉터리 이외에 존재하는 파일 삭제

find -user UID -exec rm -r {} \;
파일내용 중 UID를 찾아서 관련된 파일을 모두 삭제.

◀ 이전 글 LECTURE, 서버프로그래밍
우분투 에디터
2025-10-16
목록으로 다음 글 ▶ LECTURE, 인공지능개론
머신러닝
2025-10-17