Linux/Linux 명령어, 스크립트, 설정

Linux 유저 및 그룹 권한 설정 방법의 모든 것

Developer88 2021. 9. 30. 18:07
반응형

오늘은 Linux에서 유저 권한설정 방법에 대해서 정리해 보도록 하겠습니다.

 

1. Linux의 유저시스템

Linux는 여러 사용자가 접속할 수 있는 OS시스템입니다.

모든 권한을 가진 root가 존재하구요.

나머지 사용자들에 대해서는, 그룹에 포함시켜서 관리를 하게 됩니다.

 

2. group

group에 관한 정보들은 

"/etc/group"에서 볼 수 있습니다.

아래 명령어로 쉽게 확인할 수 있습니다.

  • cat /etc/group

 

나오는 정보는 다음과 같은 순서로 나오는 것을 볼 수 있습니다.

비밀번호는 "x"로 나와서 가려지구요. 그룹에 속한 사용자 이름도 가려지는 경우가 많습니다.

 

그룹명: 비밀번호: 그룹ID: 그룹에 속한 사용자 리스트(","로 구분)

 

 

 

/etc/passwd에서 사용자에 대한 정보가 기술되어 있습니다.

가장 처음에 나오는 사용자는 root이구요. ID도 0입니다.

 

사용자명: 비밀번호: 유저ID: 소속된 그룹의 ID: 전체이름: 홈디렉토리명: 기본Shell의 이름<bash>

 

 

2. 유저 권한 설정

 

2.  sticky bit

sticky bit를 실제로 설정한 명령어를 보겠습니다.

  • chmod -R 1777 /srv/http/my-project

위의 명령어와 옵션들은 각각 다음과 같은 의미를 가집니다.

  • chmod: 파일 권한을 변경하는 명령어
  • -R: 리커시브(재귀적) 옵션
    • 지정한 디렉토리 내 모든 파일과 서브디렉토리에 대해 작업을 수행합니다.
  • 1777: 권한을 나타내는 숫자로, 여기서는 특정한 권한 패턴을 나타냅니다. 
    • 이 패턴은 SUID와 sticky bit을 설정한 것입니다.

위에서 1777이라는 숫자에 대해서 더 알아보겠습니다.

이는 다음과 같이 다시 구성되어 집니다.

  • 1은 sticky bit
    • Sticky bit은 디렉토리 내의 파일을 해당 파일의 소유자만이 삭제할 수 있도록 하는 보안 기능 중 하나입니다.
  • 7은 소유자에게 읽기, 쓰기 및 실행 권한을 부여,
  • 2는 그룹에게 읽기와 실행 권한을, 나머지
  • 7은 다른 사용자에게 읽기, 쓰기 및 실행 권한을 부여합니다. 

위에서 언급한, Sticky bit(스티키 비트)는 UNIX 및 유닉스 계열 운영 체제에서 사용되는 파일 및 디렉토리 권한의 일부로서, 특정 디렉토리 내에서 파일을 삭제하는 권한을 제한하는 보안 기능입니다.

일반적으로, 디렉토리 내의 파일은 해당 디렉토리에 쓰기 권한이 있는 사용자라면 누구나 삭제할 수 있습니다. 하지만 디렉토리에 sticky bit이 설정되어 있으면, 해당 디렉토리 내의 파일은 그 파일의 소유자만이 삭제할 수 있습니다. 다른 사용자는 자신이 만든 파일 외에는 삭제할 수 없습니다.

스티키 비트는 주로 /tmp 디렉토리와 같은 공유 디렉토리에서 여러 사용자가 파일을 생성하고 삭제할 때의 보안 이슈를 해결하기 위해 사용됩니다. 이렇게 하면 다양한 사용자가 서로의 파일을 보호할 수 있습니다.

 

 

4. 유저권한 읽기

ls -la를 해보면 아래와 같은 파일 권한이 왼쪽에 표시가 됩니다.

  • drwxr-xr-x

위와 같은 권한이 있다고 하겠습니다.

무슨 의미일지 하나씩 보도록 하기전에,

아래 3가지 문자에 대해 이해하고 있어야 합니다.

 

구분 내용
r 읽기(read) 권한
w 쓰기(write) 권한
x 실행(execute) 권한 

 

이제 하나씩 보도록 하겠습니다.

  • d: 디렉토리를 의미, 파일의 경우는 '-'로 표시
  • rwx: 처음 세문자는 소유자의 권한을 의미
    •  read, write, execute 권한을 모두 소유
  • r-x: 다음 세문자는 그룹의 권한을 의미(파일을 만든 사용자의 기본 그룹)
    • read, execute 권한만 소유
  • r-x: 다음 세문자는 기타 모든 사용자의 권한을 의미
    • read, execute 권한만 소유

정리해 보면, 이 파일을 생성한 소유자만 쓰기 권한을 가지고,

나머지 사용자들은 모두 읽기와 실행권한만 가지고 있습니다.

 

 

 

 

 

728x90