권한
파일 속성
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를 찾아서 관련된 파일을 모두 삭제.