Linux

[리눅스] umask 명령어 완벽 가이드 사용법(파일/디렉토리 기본권한 설정)

인생아 2024. 10. 18. 09:19
반응형

umask는 새로 생성되는 파일이나 디렉토리의 기본 권한을 설정하는 명령어로, 파일 권한을 제한하는 데 사용됩니다. 리눅스에서 파일과 디렉토리의 기본 권한은 각각 666777입니다. 그러나 umask 명령어를 통해 이러한 권한을 제한할 수 있습니다. umask는 파일 또는 디렉토리가 생성될 때 기본적으로 부여되는 권한에서 뺄셈 방식으로 권한을 제한합니다.

기본적으로 umask8진수 값으로 표현되며, 이 값은 사용자(user), 그룹(group), 다른 사용자(others)에 대한 권한을 각각 설정합니다.

umask의 기본 동작

파일은 기본적으로 666(rw-rw-rw-) 권한을 가지며, 디렉토리는 777(rwxrwxrwx) 권한을 가집니다. umask는 이러한 기본 권한에서 뺄 값을 지정하여 최종적으로 파일이나 디렉토리의 권한을 결정합니다. 예를 들어 umask 값이 022일 경우:

  • 파일: 666 - 022 = 644 (rw-r--r--)
  • 디렉토리: 777 - 022 = 755 (rwxr-xr-x)

이렇게 umask 값에 따라 파일과 디렉토리의 권한이 달라지게 됩니다.

umask 명령어 확인

현재 umask 값을 확인하려면 umask 명령어를 실행합니다.

user@linux:~$ umask
0022

이 명령어는 현재 umask 값이 022임을 보여줍니다.

umask 값 설정

umask 값을 변경하려면 원하는 값과 함께 umask 명령어를 입력하면 됩니다. 예를 들어 umask 027로 설정하려면 다음과 같이 입력합니다.

user@linux:~$ umask 027

이제 새로 생성되는 파일과 디렉토리의 권한은 다음과 같습니다:

  • 파일: 666 - 027 = 640 (rw-r-----)
  • 디렉토리: 777 - 027 = 750 (rwxr-x---)

umask 예시

다음은 umask가 파일과 디렉토리의 기본 권한에 어떻게 영향을 미치는지에 대한 예시입니다.

1. 현재 umask 값 확인

user@linux:~$ umask
0022

2. 디렉토리 생성 후 권한 확인

user@linux:~$ mkdir testdir
user@linux:~$ ls -ld testdir
drwxr-xr-x 2 user user 4096 Oct 18 12:34 testdir

umask 값이 022일 때, testdir 디렉토리는 755 권한을 가집니다.

3. 파일 생성 후 권한 확인

user@linux:~$ touch testfile.txt
user@linux:~$ ls -l testfile.txt
-rw-r--r-- 1 user user 0 Oct 18 12:35 testfile.txt

umask 값이 022일 때, testfile.txt 파일은 644 권한을 가집니다.

4. umask 값 변경 후 디렉토리와 파일 생성

user@linux:~$ umask 027
user@linux:~$ mkdir newdir
user@linux:~$ touch newfile.txt
user@linux:~$ ls -ld newdir
drwxr-x--- 2 user user 4096 Oct 18 12:36 newdir
user@linux:~$ ls -l newfile.txt
-rw-r----- 1 user user 0 Oct 18 12:36 newfile.txt

umask 값을 027로 변경한 후 생성된 newdir 디렉토리는 750 권한을, newfile.txt 파일은 640 권한을 가지게 됩니다.

umask의 영구 설정

umask 값은 기본적으로 셸 세션 동안에만 적용되며, 시스템을 재부팅하거나 새로운 셸을 실행하면 기본 값으로 돌아갑니다. umask 값을 영구적으로 설정하려면 /etc/profile 또는 ~/.bashrc 파일에 umask 명령어를 추가하면 됩니다.

예를 들어 ~/.bashrc 파일에 umask 027을 추가하면 다음과 같이 설정됩니다.

user@linux:~$ echo 'umask 027' >> ~/.bashrc

이제 사용자가 로그인할 때마다 umask 값이 027로 설정됩니다.

참고사이트

반응형