Linux 파일의 기본 속성

Linux 시스템은 전형적인 다중 사용자 시스템으로 사용자마다 위치가 다르고 권한이 다릅니다. 시스템의 보안을 보호하기 위해 Linux 시스템은 다른 사용자가 동일한 파일 (디렉토리 파일 포함)에 액세스 할 수있는 권한에 대해 다른 규정을 적용했습니다.

Linux에서는 ll 또는 ls –l 명령을 사용하여 파일의 속성과 파일이 속한 사용자 및 그룹을 표시 할 수 있습니다.

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

이 예에서 bin 파일의 첫 번째 속성은 “d”로 표시됩니다. Linux에서 “d”는 파일이 디렉토리 파일임을 의미합니다.

Linux의 첫 번째 문자는 파일이 디렉토리, 파일 또는 링크 된 파일 등임을 나타냅니다.

  • d ]가 디렉토리 인 경우
  •  ] 인 경우 파일입니다.
  • l ]이면 링크 파일 (링크 파일)로 표시됩니다.
  • b ]이면 장치 파일에 인터페이스 장치 (임의 액세스 장치)로 저장할 수 있음을 의미합니다.
  • c ] 인 경우, 키보드 및 마우스 (일회용 읽기 장치)와 같은 장치 파일의 직렬 포트 장치를 의미합니다.

다음 문자는 세 그룹으로 구성되며 모두 “rwx”의 세 매개 변수의 조합입니다. 그중에서 [r]은 읽기, [w]는 쓰기, [x]는 실행을 나타냅니다. 이 세 가지 권한의 위치는 변경되지 않으며, 권한이 없으면 빼기 기호 (-) 만있을 것입니다.

각 파일의 속성은 왼쪽의 첫 부분에서 10 자 (아래 참조)로 결정됩니다.

0에서 9까지의 숫자는 왼쪽에서 오른쪽으로 사용됩니다.

0 번째 숫자는 파일 형식을 결정하고 1-3 번째 숫자는 소유자 (파일 소유자)가 파일의 권한을 가지고 있는지 확인합니다.숫자 4-6은 그룹 (소유자와 동일한 사용자 그룹)이 파일에 대한 권한을 가지고 있는지 확인하고 숫자 7-9는 다른 사용자가 파일에 대한 권한을 가지고 있다고 결정합니다.

그 중 1, 4, 7 번째 숫자는 읽기 권한을 나타내며 “r”문자가 읽기 권한이 있으면 “-“문자가 읽기 권한이 없음을 나타내는 경우;

두 번째, 다섯 번째 및 여덟 번째 비트는 쓰기 권한을 나타내고, “w”문자가 쓰기 권한이 있음을 나타내면 “-“문자가 쓰기 권한이 없음을 나타내면 세 번째, 여섯 번째 및 아홉 번째 비트는 실행 권한을 나타냅니다. “x”문자는 실행 권한이 있음을 나타내고 “-“문자는 실행 권한이 없음을 나타냅니다.


Linux 파일 소유자와 그룹

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……

파일의 경우 특정 소유자, 즉 파일을 소유 한 사용자가 있습니다.

동시에 Linux 시스템에서 사용자는 그룹으로 분류되며 사용자는 하나 이상의 그룹에 속합니다.

파일 소유자 이외의 사용자는 파일 소유자 및 다른 사용자와 동일한 사용자 그룹으로 나눌 수 있습니다.

따라서 Linux 시스템은 파일 소유자, 동일한 사용자 그룹 및 다른 사용자에 따라 다른 파일 액세스 권한을 지정합니다.

위의 예에서 mysql 파일은 디렉토리 파일이고 소유자와 그룹은 모두 mysql입니다. 소유자는 읽기, 쓰기 및 실행 권한을 가지며 소유자와 동일한 그룹의 다른 사용자는 읽기 및 실행 가능합니다. 권한 : 다른 사용자에게는 읽기 및 실행 권한이 있습니다.

root 사용자의 경우 정상적인 상황에서는 파일 권한이 영향을 미치지 않습니다.

파일 속성 변경

1. chgrp : 파일 그룹 변경

문법 :

chgrp [-R] 그룹 이름 파일 이름
[ -R ] 그룹 이름에 속하는 파일 이름  

매개 변수 옵션

  • -R : 파일 그룹을 반복적으로 변경합니다. 즉, 디렉토리 파일의 그룹을 변경할 때 -R 매개 변수를 추가하면 디렉토리에있는 모든 파일의 파일 그룹이 변경됩니다.

2. chown : 파일 소유자 변경, 동시에 파일 소속 그룹 변경 가능

문법 :

chown [–R] 소유자 이름 파일 이름[– R ] 는 기본 파일 이름입니다  
chown [-R] 소유자 이름 : 그룹 이름의 파일 이름[ -R ] 소유자 이름 : 그룹 이름의 파일 이름 

/ root 디렉토리 (~)로 이동하여 install.log의 소유자를 bin 계정으로 변경하십시오.

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

install.log의 소유자와 그룹을 root로 다시 변경하십시오.

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3. chmod : 파일의 9 가지 속성 변경

Linux 파일 속성을 설정하는 방법에는 두 가지가 있습니다. 하나는 숫자이고 다른 하나는 기호입니다.

Linux 파일에는 소유자 / 그룹 / 기타의 9 가지 기본 권한이 있으며 각각 고유 한 읽기 / 쓰기 / 실행 권한이 있습니다.

먼저 위에서 언급 한 데이터를 검토하십시오. 파일의 권한 문자는 “-rwxrwxrwx”입니다.이 9 개의 권한은 3과 3의 그룹입니다! 그 중 숫자를 사용하여 각 권한을 나타낼 수 있으며 각 권한의 점수 비교표는 다음과 같습니다.

  • r : 4
  • w : 2
  • x : 1

각 신원 (소유자 / 그룹 / 기타)에 대해 각각 3 개의 권한 (r / w / x) 점수를 누적해야합니다 (예 : 권한이 [-rwxrwx —] 인 경우 점수는 다음과 같습니다).

  • owner = rwx = 4 + 2 + 1 = 7
  • group = rwx = 4 + 2 + 1 = 7
  • others = — = 0 + 0 + 0 = 0

따라서 권한을 변경하면 파일의 권한 번호는 770입니다! 권한 변경을위한 chmod 명령의 문법은 다음과 같습니다.

 chmod [-R] xyz 파일 또는 디렉토리[ -R ] xyz 파일 또는 디렉토리

옵션 및 매개 변수 :

  • xyz : 방금 언급 한 숫자 유형의 권한 속성으로 rwx 속성 값이 추가되었습니다.
  • -R : 지속적인 재귀 변경을 수행합니다. 즉, 서브 디렉토리의 모든 파일이 변경됩니다.

예를 들어 .bashrc 파일의 모든 권한을 활성화하려는 경우 명령은 다음과 같습니다.

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

권한을 -rwxr-xr– 로 변경하려면 어떻게합니까? 그런 다음 권한 점수가 [4 + 2 + 1] [4 + 0 + 1] [4 + 0 + 0] = 754가됩니다.

심볼 유형으로 파일 권한 변경

권한을 변경하는 방법도 있습니다. 이전 소개에서 기본적으로 9 가지 권한이 있습니다.

  • (1) user
  • (2) group
  • (3) others

그런 다음 u, g, o 를 사용하여 세 ID의 권한을 나타낼 수 있습니다 !

또한, a 는 모두 , 즉 모든 ID를 나타냅니다 . 읽기 및 쓰기 권한은 r, w, x 로 쓸 수 있습니다. 즉, 다음 표를 사용하여 볼 수 있습니다.

chmod
u
g
o
a
+ (추가)
-(제거)
= (설정)
r
w
x
파일 또는 디렉토리

우리는 파일 권한이 필요한 경우로 설정 -XR을 -rwxr, 당신이 사용할 수있는 chmod를 U = rwx로, g = RX , O = R 파일 이름을 세트 :

# touch test1 // test1 파일 만들기
# ls -al test1 // test1의 기본 권한을 봅니다.
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u = rwx, g = rx, o = r test1 // test1 권한 수정
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

기존의 다른 권한을 변경하지 않고 권한을 제거하려면 어떻게해야합니까? 예를 들어, 모든 사람의 실행 권한을 제거하려면 다음을 수행하십시오.

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

답글 남기기

이메일 주소는 공개되지 않습니다.