기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AppSpec '권한' 섹션(EC2/온프레미스 배포만 해당)
'permissions'
섹션은 'files'
섹션의 파일 및 디렉터리/폴더가 인스턴스에 복사된 후 이러한 파일 및 디렉터리/폴더에 특수 권한(있는 경우)이 어떻게 적용되어야 하는지를 지정합니다. 여러 개의 object
명령을 지정할 수 있습니다. 이 섹션은 선택 사항입니다. Amazon Linux, Ubuntu Server 및 RHEL 인스턴스에만 적용됩니다.
참고
이 'permissions'
섹션은 EC2/온프레미스 배포에만 사용됩니다. AWS Lambda 또는 Amazon ECS 배포에는 사용되지 않습니다.
이 섹션의 구조는 다음과 같습니다.
permissions: - object:
object-specification
pattern:pattern-specification
except:exception-specification
owner:owner-account-name
group:group-name
mode:mode-specification
acls: -acls-specification
context: user:user-specification
type:type-specification
range:range-specification
type: -object-type
명령은 다음과 같습니다.
-
object
- 필수. 파일 시스템 객체가 인스턴스로 복사된 후 지정한 권한이 적용되는 파일 시스템 객체 세트(파일 또는 디렉터리/폴더)입니다.문자열을 사용하여
object
를 지정합니다. -
pattern
– 선택 사항. 권한을 적용할 패턴을 지정합니다. 지정하지 않거나 특수 문자"**"
를 사용하여 지정하면 권한이type
에 따라 일치하는 모든 파일 또는 디렉터리에 적용됩니다.따옴표("")가 있는 문자열을 사용하여
pattern
을 지정합니다. -
except
– 선택 사항.pattern
에 대한 예외인 파일 또는 디렉터리를 지정합니다.대괄호 안에 있는 쉼표로 구분된 문자열 목록을 사용하여
except
를 지정합니다. -
owner
– 선택 사항.object
의 소유자 이름입니다. 지정하지 않으면 원본 파일 또는 디렉터리/폴더 구조에 적용된 기존의 모든 소유자가 복사 작업 후에도 아무 것도 변경되지 않습니다.문자열을 사용하여
owner
를 지정합니다. -
group
– 선택 사항.object
의 그룹 이름입니다. 지정하지 않으면 원본 파일 또는 디렉터리/폴더 구조에 적용된 기존의 모든 그룹이 복사 작업 후에도 아무 것도 변경되지 않습니다.문자열을 사용하여
group
를 지정합니다. -
mode
– 선택 사항.object
에 적용할 권한을 지정하는 숫자 값. 모드 설정은 Linux chmod 명령 구문을 따릅니다.중요
값이 0으로 시작하는 경우 큰 따옴표로 묶거나 세 자리 숫자만 남도록 선행하는 0을 제거해야 합니다.
참고
u+x
와(과) 같은 기호 표기법은mode
설정에 대해 지원되지 않습니다.예시:
-
mode: "0644"
은(는) 개체 소유자에게 읽기 및 쓰기 권한(6), 그룹에 읽기 전용 권한(4) 및 다른 모든 사용자에게 읽기 전용 권한(4)을 부여합니다 -
mode: 644
은(는)mode: "0644"
와(과) 동일한 권한을 부여합니다. -
mode: 4755
은(는) setuid 특성(4)을 설정하고 소유자에게 모든 제어 권한(7)을 부여하며 그룹에 읽기 및 실행 권한(5), 다른 모든 사용자에게 읽기 및 실행 권한(5)을 부여합니다.더 많은 예제를 보려면 Linux chmod 명령 설명서를 참조하세요.
모드를 지정하지 않으면 원본 파일 또는 폴더 구조에 적용된 기존의 모든 모드가 복사 작업 후에도 아무 것도 변경되지 않습니다.
-
-
acls
– 선택 사항. 에 적용된 하나 이상의 액세스 제어 목록(ACL) 항목을 나타내는 문자열 목록입니다object
. 예를 들어,u:bob:rw
는 사용자bob
에 대해 읽기 및 쓰기 권한을 나타냅니다. (자세한 예는 Linuxsetfacl
명령 설명서의 ACL 항목 형식 예제를 참조하세요.) 여러 ACL 항목을 지정할 수 있습니다.acls
이 지정되지 않은 경우 원본 파일 또는 디렉터리/폴더 구조에 ACLs 적용된 기존 는 복사 작업 후에도 변경되지 않습니다. 기존 를 대체합니다ACLs.대시(-), 그 다음에 공백, 그 다음에 문자열을 사용하여
acls
를 지정합니다(예:- u:jane:rw
). 가 두 개 이상인 경우 ACL각각은 별도의 줄에 지정됩니다.참고
이름이 지정되지 않은 사용자, 이름이 지정되지 않은 그룹 또는 기타 유사한 ACL 항목을 설정하면 AppSpec 파일이 실패합니다. 이러한 유형의 권한을 지정하려면
mode
를 대신 사용하세요. -
context
– 선택 사항. Security-Enhanced Linux(SELinux) 지원 인스턴스의 경우 복사된 객체에 적용할 보안 관련 컨텍스트 레이블 목록입니다. 레이블은user
,type
및range
가 포함된 키로 지정됩니다. (자세한 내용은 SELinux 설명서를 참조하세요.) 각 키는 문자열로 입력됩니다. 지정하지 않으면 원본 파일 또는 디렉터리/폴더 구조에 적용된 기존의 모든 레이블이 복사 작업 후에도 아무 것도 변경되지 않습니다.-
user
– 선택 사항. SELinux 사용자입니다. -
type
– 선택 사항입니다. SELinux 유형 이름입니다. -
range
– 선택 사항입니다. SELinux 범위 지정자입니다. 다중 수준 보안(MLS) 및 다중 범주 보안(MCS)이 시스템에서 활성화되지 않는 한 이 효과는 없습니다. 활성화하지 않으면range
는 기본적으로s0
으로 지정됩니다.
문자열을 사용하여
context
를 지정합니다(예:user: unconfined_u
). 각context
는 별도의 줄에서 지정됩니다. -
-
type
– 선택 사항. 지정한 권한을 적용할 객체 유형입니다.type
은file
또는directory
로 설정될 수 있는 문자열입니다.file
을 지정하면 복사 작업 후object
에 즉시 포함되는 파일에만 권한이 적용됩니다(object
자체에는 적용되지 않음).directory
를 지정하면 복사 작업 후object
안의 어떤 위치에든 있는 모든 디렉터리/폴더에 권한이 반복적으로 적용됩니다(object
자체에는 적용되지 않음).대시(-), 그 다음에 공백, 그 다음에 문자열을 사용하여
type
을 지정합니다(예:- file
).
'permissions' 섹션의 예
다음 예제에서는 object
, pattern
, except
, owner
, mode
및 type
명령을 사용하여 'permissions'
섹션을 지정하는 방법을 보여 줍니다. 이 예제는 Amazon Linux, Ubuntu Server 및 RHEL 인스턴스에만 적용됩니다. 이 예에서는 다음 파일 및 폴더가 아래와 같은 계층 구조로 복사된다고 가정합니다.
/tmp `-- my-app |-- my-file-1.txt |-- my-file-2.txt |-- my-file-3.txt |-- my-folder-1 | |-- my-file-4.txt | |-- my-file-5.txt | `-- my-file-6.txt `-- my-folder-2 |-- my-file-7.txt |-- my-file-8.txt |-- my-file-9.txt `-- my-folder-3
다음 AppSpec 파일은 이러한 파일 및 폴더가 복사된 후 권한을 설정하는 방법을 보여줍니다.
version: 0.0 os: linux # Copy over all of the folders and files with the permissions they # were originally assigned. files: - source: ./my-file-1.txt destination: /tmp/my-app - source: ./my-file-2.txt destination: /tmp/my-app - source: ./my-file-3.txt destination: /tmp/my-app - source: ./my-folder-1 destination: /tmp/my-app/my-folder-1 - source: ./my-folder-2 destination: /tmp/my-app/my-folder-2 # 1) For all of the files in the /tmp/my-app folder ending in -3.txt # (for example, just my-file-3.txt), owner = adm, group = wheel, and # mode = 464 (-r--rw-r--). permissions: - object: /tmp/my-app pattern: "*-3.txt" owner: adm group: wheel mode: 464 type: - file # 2) For all of the files ending in .txt in the /tmp/my-app # folder, but not for the file my-file-3.txt (for example, # just my-file-1.txt and my-file-2.txt), # owner = ec2-user and mode = 444 (-r--r--r--). - object: /tmp/my-app pattern: "*.txt" except: [my-file-3.txt] owner: ec2-user mode: 444 type: - file # 3) For all the files in the /tmp/my-app/my-folder-1 folder except # for my-file-4.txt and my-file-5.txt, (for example, # just my-file-6.txt), owner = operator and mode = 646 (-rw-r--rw-). - object: /tmp/my-app/my-folder-1 pattern: "**" except: [my-file-4.txt, my-file-5.txt] owner: operator mode: 646 type: - file # 4) For all of the files that are immediately under # the /tmp/my-app/my-folder-2 folder except for my-file-8.txt, # (for example, just my-file-7.txt and # my-file-9.txt), owner = ec2-user and mode = 777 (-rwxrwxrwx). - object: /tmp/my-app/my-folder-2 pattern: "**" except: [my-file-8.txt] owner: ec2-user mode: 777 type: - file # 5) For all folders at any level under /tmp/my-app that contain # the name my-folder but not # /tmp/my-app/my-folder-2/my-folder-3 (for example, just # /tmp/my-app/my-folder-1 and /tmp/my-app/my-folder-2), # owner = ec2-user and mode = 555 (dr-xr-xr-x). - object: /tmp/my-app pattern: "*my-folder*" except: [tmp/my-app/my-folder-2/my-folder-3] owner: ec2-user mode: 555 type: - directory # 6) For the folder /tmp/my-app/my-folder-2/my-folder-3, # group = wheel and mode = 564 (dr-xrw-r--). - object: /tmp/my-app/my-folder-2/my-folder-3 group: wheel mode: 564 type: - directory
그 결과, 권한은 다음과 같습니다.
-r--r--r-- ec2-user root my-file-1.txt -r--r--r-- ec2-user root my-file-2.txt -r--rw-r-- adm wheel my-file-3.txt dr-xr-xr-x ec2-user root my-folder-1 -rw-r--r-- root root my-file-4.txt -rw-r--r-- root root my-file-5.txt -rw-r--rw- operator root my-file-6.txt dr-xr-xr-x ec2-user root my-folder-2 -rwxrwxrwx ec2-user root my-file-7.txt -rw-r--r-- root root my-file-8.txt -rwxrwxrwx ec2-user root my-file-9.txt dr-xrw-r-- root wheel my-folder-3
다음 예제에서는 acls
및 context
명령을 추가로 사용하여 'permissions'
섹션을 지정하는 방법을 보여 줍니다. 이 예제는 Amazon Linux, Ubuntu Server 및 RHEL 인스턴스에만 적용됩니다.
permissions: - object: /var/www/html/WordPress pattern: "**" except: [/var/www/html/WordPress/ReadMe.txt] owner: bob group: writers mode: 644 acls: - u:mary:rw - u:sam:rw - m::rw context: user: unconfined_u type: httpd_sys_content_t range: s0 type: - file