본문 바로가기

CentOS/Study

[Study23]Linux 파일 속성 이해 및 관리 - umask

반응형

umask 명령어

파일이나 디렉토리를 생성하면 그 기본 퍼미션을 설정합니다.

이러한 퍼미션의 기본 설정은 umask 명령어에 의해 결정됩니다.

시스템에서 사용자가 파일을 생성하면 umask 명령어는 그 파일의 권한을 결정해줍니다.

이것은 시스템 보안을 유지하고 파일을 안전하게 보호하는 데 도움이 됩니다.

umask 명령어는 현재 사용자의 파일 생성 권한을 변경하여 파일 및 디렉토리의 퍼미션을 적용합니다.

이 명령은 일반적으로 쉘의 시작 파일에 자동으로 설정되므로 사용자가 시스템에 로그인할 때마다 적용됩니다.

umask 명령어를 사용하면 파일 및 디렉토리의 기본 퍼미션을 조정할 수 있습니다.

이는 새 파일 및 디렉토리의 퍼미션을 변경하여 시스템 보안을 더욱 강화할 수 있습니다.

따라서 umask 명령어는 시스템 보안을 유지하는 데 매우 중요합니다.

 

     
  파일 디렉토리
기본 퍼미션 666 777
umask 022 022
생성 기본퍼미션 644 755

 

[명령어 형식]

# umask
# umask 027
# umask 022

이것은 Linux 시스템에서 umask 명령어를 사용하는 방법에 대한 안내서입니다.

umask 명령어는 새로 생성된 파일 및 디렉토리의 기본 권한을 설정하는 데 사용됩니다.

기본적으로 umask 값은 0022로 설정됩니다.

이는 새 파일이나 디렉토리가 생성될 때, 해당 파일이나 디렉토리의 권한은 기본 권한 값(파일에 대해 666, 디렉토리에 대해 777)에서 umask 값을 뺀 값입니다.

이 결과값이 해당 파일이나 디렉토리의 실제 권한입니다.

예를 들어, umask 027 명령어를 사용하여 새로 생성된 파일이나 디렉토리의 권한을 640과 750으로 설정할 수 있습니다. 이 경우 파일에 대한 기본 권한 값은 666이고, 디렉토리에 대한 기본 권한 값은 777입니다.

이 값에서 umask 값인 027을 뺀 결과값은 각각 640과 750입니다.

또 다른 예로, umask 022 명령어를 사용하여 새로 생성된 파일이나 디렉토리의 권한을 644와 755로 설정할 수 있습니다. 이 경우 파일에 대한 기본 권한 값은 666이고, 디렉토리에 대한 기본 권한 값은 777입니다.

이 값에서 umask 값인 022을 뺀 결과값은 각각 644와 755입니다.

umask 명령어를 사용하는 방법을 이해하기 위해 이러한 예제를 살펴보았습니다.

이제 당신은 umask 명령어를 사용하여 새로 생성된 파일 및 디렉토리의 기본 권한을 설정할 수 있습니다.

 

umask 간단한 실습

# cd /test
# rm –rf /test/*

위 코드는 Linux에서 파일과 디렉토리의 기본 권한 설정 방법을 설명합니다.

파일의 기본 권한은 666이고, 디렉토리의 기본 권한은 777이지만 권한을 설정할 때는 umask 값을 빼야 합니다.

umask 값은 파일과 디렉토리를 생성할 때 결정되며, 파일과 디렉토리의 최종 권한은 umask 값을 기본 권한에서 빼서 결정됩니다.

예를 들어, umask 값을 022로 설정하면 파일의 최종 권한은 644가 되고, 디렉토리의 최종 권한은 755가 됩니다.

이 코드에서는 touch와 mkdir 명령어를 사용하여 파일과 디렉토리를 만드는 방법도 보여줍니다.

touch 명령어는 파일을 만들고, mkdir 명령어는 디렉토리를 만듭니다.

umask 값 변경은 파일 및 디렉토리에 대한 권한을 설정하는 데 사용됩니다.

이 코드에서는 umask 값을 변경하는 방법과 이 값이 기본 권한에 어떤 영향을 미치는지 설명합니다.

 

# umask 002
# umask
0002
# touch file2
# mkdir dir2
# ls –ld *2
drwxrwxr-x 2 root root 4.0K Feb 14 12:04 dir2/
-rw-rw-r-- 1 root root    0 Feb 14 12:04 file2

위 코드에서 umask 값을 002로 변경하면 파일의 최종 권한은 664가 되고, 디렉토리의 최종 권한은 775가 됩니다.

이를 통해 새로운 파일과 디렉토리를 만들 때, 이전과는 다른 권한을 가지게 됩니다.

이러한 변경이 필요한 이유는 보안입니다.

파일 및 디렉토리의 권한을 설정하여 다른 사용자가 접근할 수 없도록 하기 위해서입니다.

umask 값을 변경하는 방법은 간단합니다.

umask 명령어 다음에 변경하려는 권한 값을 입력하면 됩니다.

이를 통해 umask 값을 적용하고, touch와 mkdir 명령어를 사용하여 새로운 파일과 디렉토리를 만듭니다.

마지막으로, ls -ld 명령어를 사용하여 현재 디렉토리의 파일과 디렉토리와 그 권한을 나열합니다.

이를 통해 umask 값을 변경하는 방법과 이 값이 어떻게 적용되는지에 대한 이해를 높일 수 있습니다.

 

# umask 027
# umask
0027

# touch file3 (666 - 027 = 640)
# mkdir dir3  (777 - 027 = 750)
# ls –ld *3
drwxr-x--- 2 root root 4.0K Feb 14 12:05 dir3/
-rw-r----- 1 root root    0 Feb 14 12:05 file3

위 코드는 Linux에서 파일과 디렉토리의 권한을 설정하는 방법을 보여주고 있습니다.

umask 값은 027로 설정되어 파일의 권한을 640, 디렉토리의 권한을 750으로 설정합니다.

이때 touch와 mkdir 명령어를 사용하여 파일과 디렉토리를 생성합니다.

마지막으로 ls -ld 명령어를 사용하여 디렉토리의 파일과 디렉토리 및 그 권한을 나열합니다.

umask 명령어는 Linux에서 파일과 디렉토리의 기본 권한을 설정하는 데 사용됩니다.

파일의 기본 권한은 666이고, 디렉토리의 기본 권한은 777입니다.

그러나 최종 권한은 umask 값을 이 기본 권한에서 빼서 결정됩니다.

umask 값을 변경하면 파일과 디렉토리의 최종 권한도 변경됩니다.

또한 chmod 명령어를 사용하여 파일과 디렉토리의 특정 권한을 설정할 수 있습니다.

ls 명령어를 사용하여 디렉토리의 파일과 디렉토리와 그 권한을 나열할 수 있습니다.

이러한 방법들은 보안을 유지하면서 파일을 안전하게 보호하는 데 도움이 됩니다.

umask 값은 기본 권한 값에서 umask 값을 뺀 결과를 실제 권한 값으로 사용합니다.

이러한 방법들을 통해 사용자는 Linux 시스템에서 파일과 디렉토리의 권한을 쉽게 설정할 수 있습니다.

 

/etc/bashrc 파일에 등록된 umask 확인

/etc/bashrc은 Bash 쉘을 시작할 때 자동으로 실행되는 파일 중 하나입니다.

이 파일은 로그인 쉘과 비로그인 쉘 모두에 영향을 미치며, 시스템 전역 설정을 변경할 수 있습니다.

이 파일을 수정하면 보안 문제가 발생할 수 있으므로 주의가 필요합니다.

/etc/bashrc 파일을 열면 다음과 같은 설정을 확인할 수 있습니다.

 

# umask 설정
# 기본값으로 umask를 설정합니다. 이것은 로그인 쉘에 대해서만 적용됩니다. umask는 파일과 디렉토리의 기본 퍼미션을 결정하는 명령어입니다. 새로운 파일이나 디렉토리가 생성될 때 해당 파일이나 디렉토리의 권한을 결정해줍니다. 이것은 시스템 보안을 유지하고 파일을 안전하게 보호하는 데 도움이 됩니다.

위 설정은 umask를 설정하는 부분입니다. umask는 파일과 디렉토리의 기본 퍼미션을 결정하는 명령어입니다.

새로운 파일이나 디렉토리가 생성될 때 해당 파일이나 디렉토리의 권한을 결정해줍니다.

이것은 시스템 보안을 유지하고 파일을 안전하게 보호하는 데 도움이 됩니다.

기본값으로 설정되어 있습니다.

 

# uidgid 예약 유효성 확인
# uidgid 예약 유효성을 확인할 수 있습니다. uidgid 파일은 uidgid 예약 유효성을 확인하기 위해 사용할 수 있는 파일입니다. 이 파일을 사용하면 사용자가 uidgid 예약을 확인하고 파일 시스템에 존재하지 않는 uidgid 예약을 수정할 수 있습니다.

위 설정은 uidgid 예약 유효성을 확인하는 부분입니다.

uidgid 파일은 uidgid 예약 유효성을 확인하기 위해 사용할 수 있는 파일입니다.

이 파일을 사용하면 사용자가 uidgid 예약을 확인하고 파일 시스템에 존재하지 않는 uidgid 예약을 수정할 수 있습니다.

이 기능은 시스템 보안을 유지하는 데 도움이 됩니다.

 

if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
   umask 002
else
   umask 022
fi

위 코드는 /etc/bashrc 파일에서 umask를 확인하는 코드입니다.

이 코드는 if문에서 UID와 id -gn, id -un을 비교하여 만약 UID가 99보다 크고, id -gn과 id -un이 같다면 umask를 002로 설정하고 그렇지 않으면 umask를 022로 설정합니다.

이 코드는 파일 및 디렉토리의 권한을 관리하는 데 사용됩니다.

 

-> umask 확인

위 코드는 umask 값을 확인하는 코드입니다.

이 코드를 실행하면 umask 값을 확인할 수 있습니다.

이 값을 확인하여 파일 및 디렉토리의 권한을 관리할 수 있습니다.

 

파일과 디렉토리 퍼미션의 정확한 의미

파일과 디렉토리의 퍼미션(permission)은 파일이나 디렉토리에 대한 접근 권한을 설정하는 방법입니다.

이 권한은 읽기(r), 쓰기(w), 실행(x)의 세 가지 유형으로 이루어져 있습니다.

각각의 권한은 해당 파일이나 디렉토리에 대한 특정한 접근 권한을 나타냅니다.

파일의 퍼미션은 파일에 대한 접근 권한을 설정합니다.

파일의 퍼미션은 아래와 같은 세 가지 유형의 접근 권한으로 이루어져 있습니다.

읽기(r): 파일 내용을 읽을 수 있습니다.

쓰기(w): 파일 내용을 변경할 수 있습니다.

실행(x): 파일을 실행할 수 있습니다.

파일이나 디렉토리에 대한 퍼미션은 파일이나 디렉토리의 소유자, 소유 그룹, 그리고 모든 사용자에 대한 퍼미션을 나타냅니다.

파일이나 디렉토리의 소유자만이 퍼미션을 변경할 수 있습니다.

퍼미션은 chmod 명령어를 사용하여 변경할 수 있으며, 변경된 내용은 ls -l 명령어를 사용하여 확인할 수 있습니다.

이외에도 파일과 디렉토리의 퍼미션은 시스템 보안 측면에서 중요한 역할을 합니다.

따라서, 퍼미션 설정 시 신중히 결정해야 합니다.

예를 들어, 민감한 정보를 담고 있는 파일에 대한 읽기 권한을 모든 사용자에게 부여하는 것은 적절하지 않습니다.

이와 같은 경우, 해당 파일의 퍼미션을 600으로 설정하면 파일 소유자만이 파일 내용을 읽고 쓸 수 있습니다.

 

권한 유형 의미
r (ls 명령어) 해당 파일을 읽을 수 있음을 의미합니다. 이 권한이 있는 사용자는 파일의 내용을 볼 수 있습니다.
w (생성 & 삭제) 해당 파일을 쓰거나 삭제할 수 있음을 의미합니다. 즉, 이 권한이 있는 사용자는 파일에 대해 쓰기, 삭제, 이름 변경 등의 작업을 수행할 수 있습니다.
x (cd 명령어) 해당 파일을 실행할 수 있음을 의미합니다. 이 권한이 있는 사용자는 파일을 실행할 수 있습니다.
r (ls 명령어) r 권한은 해당 디렉토리 안에 있는 파일과 디렉토리를 나열할 수 있음을 의미합니다. 이 권한이 있는 사용자는 디렉토리 안에 어떤 파일과 디렉토리가 있는지 확인할 수 있습니다.
w (생성 & 삭제) w 권한은 해당 디렉토리 안에 새로운 파일이나 디렉토리를 생성하거나 삭제할 수 있음을 의미합니다.
x (cd 명령어) x 권한은 해당 디렉토리로 이동할 수 있음을 의미합니다. 이 권한이 있는 사용자는 해당 디렉토리로 이동할 수 있습니다.

위의 권한들은 권한 설정 숫자를 통해 표현됩니다.

권한 설정 숫자는 권한들의 합으로 이루어져 있습니다.

이를 통해 계산된 숫자를 이용해 권한을 쉽게 할당하고 변경할 수 있습니다.

예를 들어, rwx 권한을 가진다면, 4+2+1=7로 표현됩니다.

이는 해당 파일이 읽기, 쓰기, 실행이 가능한 권한을 가지고 있음을 나타냅니다.

반면 r-- 권한을 가진다면, 4+0+0=4로 표현됩니다.

이는 해당 파일이 읽기 권한만 갖고 있음을 나타냅니다.

따라서 권한 설정 숫자를 이용하면 권한을 명확하게 확인할 수 있으며, 이를 이용해 권한을 쉽게 변경할 수 있습니다.

 

[TERM1] Fedora 사용자의 터미널

먼저, Fedora를 사용하는 사용자로 로그인합니다. 이를 위해서는 다음의 명령어를 입력하면 됩니다.

# ssh fedora@localhost

위 명령어를 실행하면 Fedora 사용자로 로그인할 수 있습니다.

그 다음으로는 Fedora 사용자의 홈 디렉토리인 /home/fedora 디렉토리의 권한과 소유자를 확인합니다.

확인하는 명령어는 다음과 같습니다.

 

$ ls -ld /home/fedora

위 명령어를 실행하면 /home/fedora 디렉토리의 권한과 소유자를 확인할 수 있습니다.

예를 들어, 다음과 같은 결과가 나타날 수 있습니다.

 

drwx------. 3 fedora fedora 115  6월 25 18:19 /home/fedora

/home/fedora 디렉토리의 권한은 700이며, 소유자는 Fedora 사용자입니다.

이제 디렉토리를 생성해보겠습니다.

다음 명령어를 입력하면 dirtest 디렉토리를 생성할 수 있습니다.

 

$ mkdir dirtest

생성한 디렉토리 내에 파일을 생성해보겠습니다.

다음 명령어를 입력하면 dirtest 디렉토리 내에 test2.txt 파일을 생성할 수 있습니다.

 

$ touch dirtest/test2.txt

이제, 현재 디렉토리의 하위 디렉토리와 파일을 전부 조회해보겠습니다.

다음 명령어를 입력하면 현재 디렉토리의 하위 디렉토리와 파일을 전부 조회할 수 있습니다.

 

$ ls -lR

위 명령어를 사용하면 현재 디렉토리의 하위 디렉토리와 파일을 전부 조회할 수 있습니다.

예를 들어, 다음과 같은 결과가 나타납니다.

 

.:
합계 0
drwxrwxr-x. 2 fedora fedora 23  6월 26 10:09 dirtest

./dirtest:
합계 0
-rw-rw-r--. 1 fedora fedora 0  6월 26 10:09 test2.txt

위 명령어를 사용하면 현재 디렉토리의 하위 디렉토리와 파일을 전부 조회할 수 있습니다.

이렇게 Fedora 사용자로 터미널에 접속해 /home/fedora 디렉토리 내 파일과 디렉토리를 확인하고, 새로운 디렉토리와 파일을 생성해 보았습니다.

 

[TERM2] user01 사용자 터미널

터미널을 이용하여 리눅스 시스템에서 작업을 수행할 때, 터미널에 로그인하는 것이 필요합니다.

이때, 사용자 이름과 암호를 입력하여 로그인할 수 있습니다.

이번 예시에서는 'user01' 사용자로 로그인하는 것을 가정합니다.

# ssh user01@localhost
사용자 user01으로 로그인합니다.

위와 같이 ssh 명령어를 사용하여 'user01' 사용자로 로그인할 수 있습니다.

로그인에 성공하면, 다음으로는 디렉토리를 이동하는 명령어를 사용해보겠습니다.

 

user01@localhost ~ $ cd ~fedora
-bash: cd: /home/fedora: 허가 거부

cd 명령어를 사용하여 '/fedora' 디렉토리로 이동하려고 시도했지만, 'user01' 사용자의 접근 권한이 없어 "허가 거부" 메시지가 표시됩니다.

이번에는 'fedora' 사용자의 UID와 GID를 확인해보겠습니다.

 

user01@localhost ~ $ id fedora
uid=1001(fedora) gid=1001(fedora) groups=1001(fedora),4(adm)

'fedora' 사용자의 UID와 GID를 확인하기 위해 id 명령어를 사용합니다.

groups 옵션으로 'fedora' 사용자가 속한 그룹 정보를 확인할 수 있습니다.

다음으로는 'user01' 사용자의 UID와 GID를 확인해보겠습니다.

 

user01@localhost ~ $ id user01
uid=1000(user01) gid=1000(user01) groups=1000(user01),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),131(lxd),132(sambashare)

'id' 명령어를 사용하여 'user01' 사용자의 UID와 GID를 확인할 수 있습니다.

groups 옵션으로 'user01' 사용자가 속한 그룹 정보를 확인할 수 있습니다.

이번에는 디렉토리를 이동하는 명령어를 다시 사용해보겠습니다.

 

user01@localhost ~ $ cd ~fedora/dirtest
-bash: cd: /home/fedora/dirtest: 허가 거부

'/home/fedora/dirtest' 디렉토리로 이동하려 했지만, 'user01' 사용자의 접근 권한이 없어 "허가 거부" 메시지가 표시됩니다.

마지막으로, 파일을 삭제하는 명령어를 사용해보겠습니다.

 

user01@localhost ~ $ rm -f ~fedora/dirtest/test2.txt
rm: cannot remove '/home/fedora/dirtest/test2.txt': 허가 거부

'rm' 명령어를 사용하여 'test2.txt' 파일을 삭제하려고 시도했지만, 'user01' 사용자의 변경 권한이 없어 "허가 거부" 메시지가 표시됩니다.

위의 명령어를 통해 'user01 사용자'가 터미널에 접속하고, /home/fedora 디렉토리에 접근하지 못하고 /home/fedora/dirtest 디렉토리에도 접근할 수 없으며, test2.txt 파일을 삭제할 수 없는 것을 확인했습니다.

 

[TERM1] Fedora 사용자 터미널

$ id
uid=1001(fedora) gid=1001(fedora) groups=1001(fedora) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

위 명령어는 현재 사용자의 UID, GID, 그리고 소속 그룹 정보를 출력합니다.

이 정보를 이용하여 현재 사용자가 어떤 권한을 가지고 있는지 확인할 수 있습니다.

 

$ chmod 757 /home/fedora
$ ls -ld /home/fedora
drwxr-xrwx. 4 fedora fedora 130  6월 26 10:08 /home/fedora

위 명령어는 /home/fedora 디렉토리의 권한을 757로 변경합니다.

이로써 소유자, 그룹, 다른 사용자 모두 디렉토리 내 파일을 읽고, 쓰고, 실행할 수 있게 됩니다.

두 번째 명령어는 디렉토리의 권한과 소유자 정보를 출력합니다.

 

$ chmod 755 dirtest

위 명령어는 dirtest 디렉토리의 권한을 755로 변경합니다.

이로써 소유자는 파일을 읽고, 쓰고, 실행할 수 있으며, 다른 사용자는 파일을 읽고, 실행할 수 있게 됩니다.

 

$ touch dirtest/test3

위 명령어는 dirtest 디렉토리에 test3 파일을 생성합니다.

 

$ chmod 646 dirtest/test3

위 명령어는 test3 파일의 권한을 646로 변경합니다.

이로써 소유자와 그룹은 파일을 읽고, 쓸 수 있으며, 다른 사용자는 파일에 쓸 수 있게 됩니다.

 

$ ls -lR

위 명령어는 현재 디렉토리와 하위 디렉토리에 있는 각 파일과 디렉토리의 권한과 소유자 정보를 출력합니다.

이를 통해, 현재 디렉토리와 하위 디렉토리의 권한과 소유자 정보를 확인할 수 있습니다.

 

.:
합계 0
drwxr-xr-x. 2 fedora fedora 36  6월 26 10:15 dirtest

./dirtest:
합계 0
-rw-rw-r--. 1 fedora fedora 0  6월 26 10:09 test2.txt
-rw-r--rw-. 1 fedora fedora 0  6월 26 10:16 test3

/home/fedora (rwxr-xrwx fedora fedora)
      |
      +----- dirtest (rwxr-xr-x fedora fedora)
      |
      +----- test3 (rw-r--rw- fedora fedora)

ls -lR 명령어의 예시 출력으로, 현재 디렉토리와 하위 디렉토리에 있는 각 파일과 디렉토리의 권한과 소유자 정보를 출력합니다.

위의 명령어는 /home/fedora 디렉토리와 /home/fedora/dirtest 디렉토리의 권한을 변경하고, 새로운 test3 파일을 생성하며, 권한을 변경합니다.

 

[TERM2] user01 사용자 터미널

먼저 사용자 user01으로 로그인합니다.

$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

다음으로, 다음 명령어를 입력하여 /home/fedora 디렉토리로 이동합니다.

 

$ cd ~fedora       ($ cd /home/fedora)

이어서, dirtest 디렉토리로 이동합니다.

 

$ cd dirtest

그러나 test3 파일은 삭제할 수 없다는 에러가 발생합니다.

 

$ rm -f test3
rm: cannot remove 'test3': 허가 거

마지막으로, 새로운 디렉토리 dirtest1을 만들려고 하지만 권한이 없어 실패합니다.

 

$ mkdir dirtest1
mkdir: `dirtest1' 디렉토리를 만들 수 없습니다: 허가 거부

따라서, 이러한 결과를 보면 사용자 user01은 /home/fedora 디렉토리에 접근하지 못하고, /home/fedora/dirtest 디렉토리에 접근할 수 없으며, test3 파일을 삭제할 수 없으며, 새로운 디렉토리를 생성할 수 없는 것을 알 수 있습니다.

이에 따라, 사용자 user01은 /home/fedora 디렉토리와 /home/fedora/dirtest 디렉토리의 권한을 변경할 수 없으며, test3 파일을 삭제할 수 없으며, 새로운 디렉토리를 생성할 수 없다는 제한 사항을 인지하여야 합니다.

위의 명령어는 /home/fedora 디렉토리로 이동하고, dirtest 디렉토리에서 test3 파일을 삭제하고, 새로운 dirtest1 디렉토리를 생성할 수 없는 것을 보여줍니다.

이에 따라, 사용자 user01은 /home/fedora 디렉토리와 /home/fedora/dirtest 디렉토리의 권한을 변경할 수 없으며, test3 파일을 삭제할 수 없으며, 새로운 디렉토리를 생성할 수 없다는 제한 사항을 인지하여야 합니다.

 

[TERM1] fedora 사용자 터미널

$ id
uid=1001(fedora) gid=1001(fedora) groups=1001(fedora) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

위의 명령은 현재 사용자의 UID, GID, 소속 그룹 정보와 SELinux context를 출력합니다.

이 정보를 통해 현재 사용자의 권한과 보안 상태를 파악할 수 있습니다.

 

$ chmod 757 dirtest

위의 명령은 /home/fedora/ 디렉토리 내의 dirtest 디렉토리에 대한 권한을 757로 변경합니다.

이렇게 함으로써, 소유자, 그룹, 다른 사용자 모두 디렉토리 내 파일을 읽고, 쓰고, 실행할 수 있게 됩니다.

따라서 파일과 디렉토리에 대한 접근 권한을 관리하는 것은 시스템 보안을 유지하는 데 중요한 역할을 합니다.

 

$ ls -lR

위의 명령은 현재 디렉토리와 하위 디렉토리에 있는 각 파일과 디렉토리의 권한과 소유자 정보를 출력합니다.

이를 통해 파일과 디렉토리의 권한을 확인하고 권한을 변경할 수 있습니다.

 

.:
합계 0

현재 디렉토리의 권한은 fedora이며, 그룹은 fedora입니다. unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 컨텍스트에서 실행됩니다.

./dirtest:
합계 0

dirtest 디렉토리에는 test2.txt라는 파일과 test3이라는 파일이 있습니다.

test2.txt 파일의 권한은 rw-rw-r--이며, 소유자와 그룹은 fedora입니다.

test3 파일의 권한은 rw-r--rw-이며, 소유자와 그룹은 fedora입니다.

현재 위치한 /home/fedora 디렉토리에는 다음의 하위 디렉토리와 파일들이 있습니다.

dirtest: 권한은 rwxr-xrwx이며, 소유자와 그룹은 fedora입니다.

test3: 권한은 rw-r--rw-이며, 소유자와 그룹은 fedora입니다. 위의 출력 결과에서, dirtest 디렉토리의 권한이 rwxr-xrwx로 설정되어 있으며, 이는 모든 사용자가 디렉토리 내 파일을 읽고, 쓰고, 실행할 수 있다는 의미입니다. 현재 디렉토리와 하위 디렉토리의 각 파일과 디렉토리의 권한과 소유자 정보를 출력합니다. 이 명령은 파일 시스템의 구조와 권한 관리에 대한 이해를 높이는 데 도움이 됩니다. 위의 명령어는 /home/fedora/dirtest 디렉토리의 권한을 변경합니다. 이렇게 함으로써, 파일과 디렉토리에 대한 접근 권한을 관리하는 것이 중요하다는 것을 다시 한번 강조합니다.

 

[TERM2] user01 사용자 터미널

$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

위 코드에서 "id" 명령어를 사용하여 사용자와 그룹 ID를 확인할 수 있습니다.

여기서는 사용자 "user01"이 ID 1002에 속하고, "user01" 그룹에 속하며, SELinux context는 "unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023"임을 확인할 수 있습니다.

 

$ rm –f test3

다음으로, "rm -f test3" 명령어는 "test3" 파일을 삭제하는 데 사용됩니다.

 

$ touch test4.txt

그 다음으로, "touch test4.txt" 명령어는 "test4.txt"라는 새로운 빈 파일을 생성하는 데 사용됩니다.

 

$ ls -l
합계 0
-rw-rw-r--. 1 fedora fedora 0  6월 26 10:09 test2.txt
-rw-rw-r--. 1 user01 user01 0  6월 26 10:17 test4.txt

마지막으로, "ls -l" 명령어는 현재 디렉토리의 파일에 대한 자세한 정보를 보여줍니다.

여기서는 "test2.txt"와 "test4.txt" 두 개의 파일이 있으며, 각각의 파일 크기가 0바이트이고 해당하는 사용자 및 그룹에 속하는 것을 확인할 수 있습니다.

위의 명령어는 test3 파일을 삭제하고, 새로운 test4.txt 파일을 생성합니다.

반응형