Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AppSpec Bagian 'izin' (EC2/Hanya penerapan Lokal)
'permissions'
Bagian ini menentukan bagaimana izin khusus, jika ada, harus diterapkan ke file dan direktori/folder di 'files'
bagian setelah mereka disalin ke instance. Anda dapat menentukan beberapa object
instruksi. Bagian ini opsional. Ini berlaku untuk Amazon Linux, Ubuntu Server, dan RHEL instance saja.
catatan
'permissions'
Bagian ini digunakan hanya untuk penerapan EC2 /On-Premises. Ini tidak digunakan untuk penyebaran AWS Lambda atau AmazonECS.
Bagian ini memiliki struktur sebagai berikut:
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
Instruksi adalah sebagai berikut:
-
object
– Wajib. Ini adalah satu set objek sistem file (file atau direktori/folder) yang izin yang ditentukan diterapkan setelah objek sistem file disalin ke instance.Tentukan
object
dengan string. -
pattern
– Opsional. Menentukan pola untuk menerapkan izin. Jika tidak ditentukan atau ditentukan dengan karakter khusus"**"
, izin diterapkan ke semua file atau direktori yang cocok, tergantung pada file.type
Tentukan
pattern
dengan string dengan tanda kutip (“”). -
except
– Opsional. Menentukan setiap file atau direktori yang pengecualian untuk.pattern
Tentukan
except
dengan daftar string yang dipisahkan koma di dalam tanda kurung siku. -
owner
– Opsional. Nama pemilikobject
. Jika tidak ditentukan, semua pemilik yang ada diterapkan ke struktur file atau direktori/folder asli tetap tidak berubah setelah operasi penyalinan.Tentukan
owner
dengan string. -
group
– Opsional. Nama grup untukobject
. Jika tidak ditentukan, semua grup yang ada diterapkan ke struktur file atau direktori/folder asli tetap tidak berubah setelah operasi penyalinan.Tentukan
group
dengan string. -
mode
– Opsional. Nilai numerik yang menentukan izin yang akan diterapkan.object
Pengaturan mode mengikuti sintaks perintah chmod Linux.penting
Jika nilainya termasuk nol di depan, Anda harus mengelilinginya dengan tanda kutip ganda, atau menghapus nol di depan sehingga hanya tersisa tiga digit.
catatan
Notasi simbolik seperti tidak
u+x
didukung untuk pengaturan.mode
Contoh:
-
mode: "0644"
memberikan izin baca dan tulis kepada pemilik objek (6), izin hanya-baca ke grup (4), dan izin hanya-baca untuk semua pengguna lain (4). -
mode: 644
memberikan izin yang sama seperti.mode: "0644"
-
mode: 4755
menetapkan atribut setuid (4), memberikan izin kontrol penuh kepada pemilik (7), memberikan izin baca dan eksekusi ke grup (5), dan memberikan izin baca dan eksekusi ke semua pengguna lain (5).Untuk contoh lainnya, lihat dokumentasi perintah Linux chmod.
Jika mode tidak ditentukan, semua mode yang ada diterapkan ke file asli atau struktur folder tetap tidak berubah setelah operasi penyalinan.
-
-
acls
– Opsional. Daftar string karakter yang mewakili satu atau lebih entri access control list (ACL) diterapkan.object
Misalnya,u:bob:rw
mewakili izin baca dan tulis untuk penggunabob
. (Untuk contoh lainnya, lihat contoh format ACL entri dalam dokumentasisetfacl
perintah Linux.) Anda dapat menentukan beberapa ACL entri. Jika tidakacls
ditentukan, semua yang ada ACLs diterapkan ke file asli atau direktori/struktur folder tetap tidak berubah setelah operasi penyalinan. Ini menggantikan yang adaACLs.Tentukan
acls
dengan tanda hubung (-), diikuti oleh spasi, dan kemudian string (misalnya,- u:jane:rw
). Jika Anda memiliki lebih dari satuACL, masing-masing ditentukan pada baris terpisah.catatan
Menyetel pengguna yang tidak disebutkan namanya, grup yang tidak disebutkan namanya, atau ACL entri serupa lainnya menyebabkan AppSpec file gagal. Gunakan
mode
untuk menentukan jenis izin ini sebagai gantinya. -
context
– Opsional. Untuk instance yang diaktifkan Security-Enhanced Linux (SELinux), daftar label konteks yang relevan dengan keamanan untuk diterapkan ke objek yang disalin. Label ditentukan sebagai kunci yang berisiuser
,type
, danrange
. (Untuk informasi lebih lanjut, lihat SELinux dokumentasi.) Setiap kunci dimasukkan dengan string. Jika tidak ditentukan, label yang ada diterapkan ke file asli atau direktori/struktur folder tetap tidak berubah setelah operasi penyalinan.-
user
– Opsional. SELinuxPengguna. -
type
– Opsional. Nama SELinux tipe. -
range
– Opsional. Penentu SELinux rentang. Ini tidak berpengaruh kecuali Multi-Level Security (MLS) dan Multi-Category Security (MCS) diaktifkan pada mesin. Jika tidak diaktifkan,range
default ke.s0
Tentukan
context
dengan string (misalnya,user: unconfined_u
). Masing-masingcontext
ditentukan pada garis terpisah. -
-
type
– Opsional. Jenis objek yang menerapkan izin yang ditentukan.type
adalah string yang dapat diatur kefile
ataudirectory
. Jikafile
ditentukan, izin diterapkan hanya untuk file yang segera terkandung dalamobject
setelah operasi salinan (dan bukan untukobject
dirinya sendiri). Jikadirectory
ditentukan, izin diterapkan secara rekursif ke semua direktori/folder yang ada di mana sajaobject
setelah operasi penyalinan (tetapi tidak untuk dirinya sendiri).object
Tentukan
type
dengan tanda hubung (-), diikuti oleh spasi, dan kemudian string (misalnya,- file
).
Contoh bagian 'Izin'
Contoh berikut menunjukkan cara menentukan 'permissions'
bagian denganobject
,,pattern
,except
, owner
mode
, dan type
instruksi. Contoh ini berlaku untuk Amazon Linux, Ubuntu Server, dan RHEL instance saja. Dalam contoh ini, asumsikan file dan folder berikut disalin ke instance dalam hierarki ini:
/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 File berikut menunjukkan cara mengatur izin pada file dan folder ini setelah disalin:
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
Izin yang dihasilkan adalah sebagai berikut:
-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
Contoh berikut menunjukkan cara menentukan 'permissions'
bagian dengan penambahan acls
dan context
instruksi. Contoh ini berlaku untuk Amazon Linux, Ubuntu Server, dan RHEL instance saja.
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