리눅스 OS에서 파일 소유권과 접근 권한을 변경하는 명령어 chmod / chown에 대해 알아본다.
chmod
1. 알파벳 표현
[file path]의 파일에 대해 소유 수준이 [owner]인 유저에게 [permission level] 수준의 권한을
추가 또는 제거([action])한다.
1
chmod [option] [owner][action][permission level] [file path]
- option
    - -R: 하위 모든 파일에 적용 (recursive)
 
- 
    소유 수준 owner 
 파일에 대한 소유 수준은 3가지 문자로 표현된다.
 명령어에는 소유 수준이 1개 이상 연속해서 올 수 있다. 즉, 명령어에ug라고 쓸 경우 파일을 소유한user와group에게 같은 권한을 부여한다.소유 수준 표현 문자 설명 u 파일을 소유한 유저 g 파일을 소유한 그룹 o 파일을 소유한 유저와 그룹이 아닌 유저 
- action
    - +일 경우, 권한을 추가
- -일 경우, 권한을 제거
- =일 경우,
 - +,- -는 명령어로 지정한 권한을 추가 또는 제거하고 기존 권한들은 그대로 둔다.
 반면에- =는 명령어로 지정한 권한을 추가(- +)하되 지정하지 않은 권한들은 모두 제거한다.
 
- 
    permission level 
 파일에 대한 권한 수준은 3가지 문자로 표현된다.
 명령어에는 권한 수준이 1개 이상 연속해서 올 수 있다. 즉, 명령어에rw라고 쓸 경우읽기와쓰기2개 권한을 부여한다.권한 수준 표현 문자 설명 r 읽기 권한 w 쓰기 권한 x 실행 권한 
- 
    예 
 ./file/path.csv파일에 대해 파일 소유유저와그룹에게읽기와쓰기권한 부여1 chmod ug+rw ./file/path.csv
2. 숫자 표현
[file path]의 파일에 대해 [permission level]을 이용하여 소유 수준 별로 권한 수준을 설정한다.
1
chmod [option] [permission level] [file path]
- option
    - -R: 하위 모든 파일에 적용 (recursive)
 
- permission level
 3개 숫자로 소유 수준과 권한 수준을 모두 표현 할 수 있다.- 
        숫자 자리수로 소유 수준 표현 숫자 자리수 설명 첫째 자리 파일을 소유한 유저 둘째 자리 파일을 소유한 그룹 셋째 자리 파일을 소유한 유저와 그룹이 아닌 유저 
- 
        숫자 크기로 권한 수준 표현 
 2개 이상의 권한을 부여하려면 아래 숫자의 합으로 나타낸다. 즉, 읽기(4)와 쓰기(2) 권한을 모두 부여하려면4+2=6으로 설정한다.숫자 크기 설명 4 읽기 권한 2 쓰기 권한 1 실행 권한 
 
- 
        
- 
    예 
 ./file/path.csv파일에 대해유저에게읽기,쓰기,실행권한을 모두 부여,그룹에게읽기,실행권한을 부여,소유한 유저와 그룹이 아닌 유저에게실행권한만 부여1 chmod 751 ./file/path.csv
chown
파일의 소유자를 변경한다.
특정 소유 수준에 속하는 유저는 파일에 대해 그 소유 수준에 설정된 수준 만큼의 권한을 행사 할 수 있다.
이때 소유 수준 별 권한 수준은 위 섹션 chmod 명령어로 설정할 수 있다.
1
chown [option] [owner]:[group] [file path]
- option
    - -R: 하위 모든 파일에 적용 (recursive)
 
- 
    owner 
 파일의 소유자를[owner]로 변경
- 
    group 
 파일의 소유 그룹을[group]으로 변경
 :[group]이라고 쓰면 owner 변경 없이 group만 변경 할 수 있다.
- 
    file path 
 소유권 변경 대상 파일 경로 (상대 경로 가능)
- 예
./file/path.parquet 파일에 대해 소유자를 deep으로 소유 그룹을 machinelearn으로 변경한다.
1
chown deep:machinelearn ./file/path.parquet
Share on
Copy URL Kakao
  
   Facebook
   Twitter
   LinkedIn
     Kakao
  
   Facebook
   Twitter
   LinkedIn
Leave a comment