리눅스2023. 8. 3. 17:56

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/608641

기본적인 내용이지만 정리해 두기로.

리눅스에서 파일/디렉토리 접근 권한은 chmod 명령으로 설정한다. chmod의 옵션에 의해 소유자(owner, u), 그룹(group, g), 나머지(others, o)에 대하여 각각 읽기(read, r), 쓰기(write, w), 실행(execute, x) 권한을 지정할 수 있다. 권한 추가는 +, 제거는 -, 특정 권한으로 지정은 = 기호를 사용한다. 예를 들어 소유자(u) 권한에 읽기(r)를 추가하기 위한 옵션은 u+r 이런식이다. 예시를 몇개 보면 쉽게 감을 잡을 수 있다. 예를 들어 my_data.txt 파일에 대하여 아래와 같이 접근권한을 지정할 수 있다.

# 소유자(u) 권한에 읽기(r),쓰기(w),실행(x) 추가(+)
chmod u+rwx my_data.txt

# 소유자(u) 권한에서 읽기(r), 실행(x) 제거(-)
chmod u-rx my_data.txt

# 소유자(u) 권한을 읽기(r)/실행(x)으로 지정(=)
chmod u=rx my_data.txt

# 그룹(g) 권한을 읽기(r)/쓰기(w)로 지정(=)
chmod g=rw my_data.txt

# 나머지(o) 권한에서 실행(x) 제거(-)
chmod o-x my_data.txt

소유자, 그룹, 나머지에 대해 각각 다른 권한을 지정하고 싶다면 쉼표(,)로 구분해서 지정해 주면 된다. 쉼표 다음에 띄어쓰기를 하지 않음에 유의. 아래의 예시를 보자.

# 소유자(u) 권한에 실행(x) 추가, 나머지(o) 권한에서 쓰기 제거(-)
chmod u+x,o-w my_data.txt

# 소유자 권한은 rwx, 그룹 권한은 rw, 나머지는 접근권한 제거(-rwx)
chmod u=rwx,g=rw,o-rwx my_data.txt

# 소유자(u), 그룹(g) 권한에 쓰기(w) 추가(+), 나머지 권한은 읽기(r)로 지정(=)
chmod ug+w,o=r my_data.txt

만약 소유자, 그룹, 나머지 전체에 대해 일률적으로 특정 권한을 지정하려면 a를 사용할 수도 있다. 아래의 예시를 보자.

# 소유자(u), 그룹(g), 나머지(o)에서 쓰기(w) 제거(-)
chmod ugo-w my_data.txt

# 위의 예시와 동일한 작업이나 ugo 대신 a 사용
chmod a-w my_data.txt

접근권한 조회는 ls 명령에서 -l 옵션으로 확인 가능하다. 소유자(u), 그룹(g), 나머지(o) 순서로 rwxr-xr-- 이런 식으로 표시된다.  

# 파일 디렉토리 목록 출력 (-l 옵션)
ls -l

728x90
Posted by 반달가면