파일의 권한
리눅스에서 파일의 권한은 다음 세 가지 범주로 나뉜다.
사용자의 접근 권한의 구분 : 소유자(user) / 그룹(group) / 그 외(other)
ls - l 을 통해 다음과 같은 목록이 표시가 되는데 ,
유형 , 권한 , 링크수, 소유자 , 그룹 , 파일크기 , 변경일자 , 이름 의 목록이 출력된다.
읽기 | 쓰기 | 실행 | 읽기 | 쓰기 | 실행 | 읽기 | 쓰기 | 실행 |
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
7 | 7 | 7 |
- 읽기(read, r): 파일 내용을 읽을 수 있음 (값: 4)
- 쓰기(write, w): 파일을 수정할 수 있음 (값: 2)
- 실행(execute, x): 파일을 실행할 수 있음 (값: 1)
실행 권한은 속성의 파일이 아니고 디렉토리의 경우 접근 권한을 나타내기도 한다.
이 값들을 숫자값으로 표시하게 되면 다음과 같이 합산식으로 표시할 수 있다.
유저 권한은 100 대 그룹 권한은 10대 other 권한은 1대의 숫자값을 가지고 있기 떄문에 이 모든 권한들을 합쳐서 rwxrwxrwx 를 다가진 경우 777이라는 값으로 표시할 수 있다.
리눅스에서는 사용자의 파일을 만들거나 어떤 프로세스가 파일을 만들 수 있는데 , 그때 생성되는 파일 또는 디렉토리 기본 권한을 표시하는 값이 된다.
해당 값은 말 그대로 사용자에게 귀속이 되면 사용자마다 다른 권한 값들을 가질 수가 있다.
리눅스의 기본 파일 권한 : 666(rw-rw-rw-)을 갖게 되고 , 디렉토리 권한은 777(rwxrwxrwx)을 갖게 된다.
chmod 명령어: 파일 권한 변경
chmod [option]... [mode]... <file>
파일 디렉토리 권한의 변경
chmod => change mode
숫자값을 통한 권한 부여
chmof 777 hello.txt
#숫자값을 통한 user/group/other에 rwx 권한 부여
chmod 700 hello.txt
#숫자 값을 통한 user 에 rwx 권한 부여
문자값을 통한 권한부여
chmof u+x hello.txt
#user에 x 권한 추가
chmod u-x hello.txt
#user에 x 권한 삭제
chmod g+rw hello.txt
#group에 r,w권한 추가
chmod g-rw hello.txt
#group에 r,w권한 삭제
chmod o+rwx hello.txt
#other에 r,w,x권한 추가
chmod +rwx hello.txt
#user/group/other에 r,w,x권한 추가
이렇게 파일별 , 디렉토리별로 권한을 설정할 수있다.
chown,chgrp 명령어: 소유자 변경
chown [option]... <user_name>[:group_name] <file>...
# 파일 / 디렉토리의 소유자/그룹 변경
chgrp [option]... <group_name> <file>...
#파일 / 디렉토리의 그룹 변경
chown => change owner
chgrp => change group
chown 사용 예시
chown user2 hello.txt
# 해당 파일(hello.txt)의 소유자를 user2로 변경
chown user2:user2 hello.txt
# 해당 파일(hello.txt)의 소유자와 그룹을 모두 user2로 변경
chown :user2 hello.txt
# 해당 파일(hello.txt)의 그룹을 user2로 변경
파일 특수 실행 권한
파일의 권한을 일시적으로 소유주(setuid) 혹은 소유그룹 (setgid)의 권한으로 빌려서 실행함.
특정 파일을 검색할 때 해당 파일의 소유주(setuid)나 소유 그룹(setgid)의 권한으로 실행 설정 설정 기능이 없다.
-rwsr-xr-x 1 root root 54232 Jan 1 12:34 /usr/bin/passwd
setuid (사용자 ID 설정)
파일의 실행 권한을 해당 파일의 소유주 의 권한으로 실행하도록 하는 권한.
일반적으로 passwd같은 폼에서 사용
chmod u+s <file_name>
#설정
chmod u-s <file_name>
#분할
setgid (그룹 ID 설정)
일을 실행하는 동안 파일의 그룹 권한으로 실행 설정 권한을 부여
chmod g+s <file_name>
#설정
chmod g-s <file_name>
#분할
sudo
해당 명령어는 우리가 실행하는 동안 해당 파일의 소유자인 루트 권한을 빌려오는것.
/tmp
이 디렉토리는 누구나 마음대로 파일 생성 가능.
임시적 파일 생성임으로 내용이 지워져도 무방
해당 사용자가 쓰고 있는 파일이 갑작스러워 지면 안된다.
파일은 디렉토리의 오너인 슈퍼 유저와 해당 디렉토리에 파일을 생성한 그 사용자만 해당 파일을 삭제할 수 있다.
'Operation > Linux' 카테고리의 다른 글
[네트워크 기본 명령어 정리] ping, telnet, ssh (0) | 2025.04.16 |
---|---|
Linux, 기본 명령어 (디렉토리, 파일) (0) | 2025.02.22 |
Linux(ubuntu), 사용자(그룹) 추가, 변경, 삭제 (0) | 2025.02.21 |
리눅스, 사용자 정보 확인 (0) | 2025.02.04 |
리눅스 , 권한 대여 (0) | 2025.02.04 |