파일 권한 명령어를 정리해보려고 한다.
1. 리눅스 파일, 디렉토리 권한 확인하기
ls -l
ls -n #소유권을 UID/GID
ls -al # 전체
ls -al 명령어를 사용하여 디렉토리에 대한 권한을 확인 할 수 있다.
출력결과를 보면 각각 파일종류 / 권한 / 링크수 / 사용자(소유자) / 그룹 / 파일크기 / 수정시간 / 파일이름이 나오는 것을 확인할 수 있다.
한 예시로 -rw-r--r-- 권한에 소유권은 소유자 이름으로 나오고 그 후에는 그룹 아이디를 볼 수 있다.
깊게 들어가면 -rw-r--r-- 은 4가지 부분으로 나눠진다.
- rw- r-- r--
순서대로 (파일타입)(소유자)(소유그룹)(게스트사용자) 라는 의미를 가진다.
첫번째에 있는 -은 파일타입을 의미하는데 파일(-)과 디렉토리(d)를 구분지어준다.
- | 일반적인 파일 |
d | 디렉토리 |
b | 블록 디바이스 파일 (하드드라이버/CD-ROM) |
c | 문자 디바이스 파일 |
l | 심볼릭 링크 파일 |
p | 명명된 파이프 |
s | 유닉스 도메인 (Socket) |
두번째의 rwx는 각각 읽기 (read) 4 / 쓰기 (write) 2 / 실행 (execute) 1 의 권한을 나타낸다.
※ 디렉토리의 경우에는 실행권한이 있어야 디렉토리에 들어갈 수 있다는 점을 알고있어야 한다.
2. 소유권 & 허가권 변경 방법
① 8진수를 이용한 권한 변경
chmnod [퍼미션 숫자]
위의 권한설정들을 가지고 8진수로 나타내어 소유자/소유그룹/게스트사용자에 대한 권한을 변경할 수 있다.
[example]
#사용자는 읽기, 쓰기(4+2) 권한을 부여하고,
#그룹과 다른 사용자는 읽기 권한만 부여
chmod 644 test.txt
#권한 전부 추가
chmod 777 test.txt
② 기호문자를 이용한 권한 변경
chmod [기호 문자]
기호문자를 이용해서도 권한 변경을 할 수 있다.
기호는 총 세가지 종류가 있는데 순서대로 누구에게/준다/무슨권한을 이라고 생각하면 이해하기 쉬울 것 같다.
# 읽기 r 쓰기 w 실행 x
# 권한 추가 + 권한 삭제 - 권한 지정 =
# 사용자 허가권 u 그룹 허가권 g 다른사용자 허가권 o 모두 a
# 사용자(u)에게 읽기 및 쓰기(rw)권한으로 지정(=)
chmod u=rw test.txt
# 모두(a)에게 읽기 및 쓰기(rw)권한으로 지정(=)
chmod a=rw test.txt
# test.txt 소유자(u)에게 읽기, 쓰기, 실행 (rwx) 권한 추가 부여(+)
chmod u+rwx test.txt
# test.txt 소유그룹(g)에게 쓰기(r) 권한을 제거(-)
chmod g-r test.txt
# 그 외 계정에게 모든 권한을 제거(-)
chmod o-rwx test.txt
이런식으로 누구에게 / 준다 / 무슨 권한을 이라고 생각하고 명령어를 작성하면될 것 같다.
3. 허가권 변경하기
chmod 옵션사항으로 여러가지가 있는데 필요한 옵션에 따라 표에서 참고하면 될 것 같다.
-R, --recursive | 특정 디렉터리 내 파일, 디렉터리 재귀적으로 허가권 변경 |
-C, --changes | 변경된 파일, 디렉터리 자세한 정보 출력 |
-f, --silent, --quite | 대부분의 에러메시지 출력 제한 |
--reference | 모드 대신 파일 지정 모드 사용 |
※ 디렉토리의 허가권 > 파일
디렉토리에 허가권이 없다면 사용불가 (어떤 계정이 파일에 대한 허가권이 존재한다고 해도)
x권한이 있는 파일을 실행시키려면 ./를 앞에 붙여야 한다.
'개발환경 > 그 외' 카테고리의 다른 글
jdk 2개 이상 설정 (0) | 2023.06.20 |
---|---|
개인공부 (0) | 2023.01.09 |
[ Linux ] Linux에서 openjdk 1.8 설치하기 (0) | 2022.08.24 |
[ Linux ] 디렉토리 관련 명령어 정리 (0) | 2022.08.24 |