Ito ang command dacs na maaaring patakbuhin sa OnWorks free hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
dacs - isang distributed access control system
SINOPSIS
dacs [-v | --verbose] [--dumpenv] [--lisensya] [--bersyon]
dacs dacs-utos [dacsoptions[1]] [...]
dacs-utos [-u uri-prefix | -uj hurisdiksyon-pangalan | -a | -pataas hurisdiksyon-pangalan | -kami]
[-c dacs.conf]
[-sc site.conf] [-ll antas ng pag-log] [-porma fmt] [-q] [-t] [-Dpangalan=halaga]
[-v | --verbose] [--dumpenv] [--enable-dump] [--lisensya] [--std] [--bersyon]
DESCRIPTION
Ang programang ito ay bahagi ng Dacs suite.
Dacs ay isang pangkalahatang layunin, batay sa Web na pagpapatunay at sistema ng kontrol sa pag-access. Nagbibigay ito
single sign-on functionality at flexible access control sa content at mga serbisyong ibinigay
ng mga web server. Dacs binubuo ng isang Apache module (mod_auth_dacs[2]) kung saan Apache
nakikipag-usap sa Dacs upang gumawa ng mga desisyon sa pagkontrol sa pag-access, isang hanay ng mga programang CGI na
magbigay Dacs mga serbisyo sa web, at isang koleksyon ng mga utility command na nagbibigay ng iba't-ibang
suporta at mga tungkuling pang-administratibo para sa Dacs. Ang ilan sa mga kagamitang ito, tulad ng
dacshttp(1)[3] at sslcient(1)[4], ay ganap na pangkalahatang layunin.
Ang Dacs access control engine at mga bahagi ng pagpapatunay ay maaari ding gamitin mula sa
command line, sa loob ng isang CGI environment o ganap na hiwalay sa Web.
Para sa mahalagang impormasyon tungkol sa Dacs, kasama ang mga tagubilin sa pag-install, pakitingnan
dacs.readme(7)[5] at dacs.install(7)[6].
Tungkol sa Dacs
HINDI WARRANTY
Ang software na ito ay ibinigay ng Dss "as is" at anumang hayag o ipinahiwatig na mga garantiya,
kabilang ang, ngunit hindi limitado sa, ang mga ipinahiwatig na mga garantiya ng kakayahang maikalakal, angkop para sa
isang partikular na layunin, o hindi paglabag, ay itinatanggi. Sa anumang pagkakataon ay magiging Dss
mananagot para sa anumang direkta, hindi direkta, hindi sinasadya, espesyal, huwaran, o kinahinatnan
mga pinsala (kabilang ang, ngunit hindi limitado sa, pagkuha ng mga kapalit na produkto o serbisyo;
pagkawala ng paggamit, data, o kita; o pagkagambala sa negosyo) gayunpaman sanhi at sa alinman
teorya ng pananagutan, maging sa kontrata, mahigpit na pananagutan, o tort (kabilang ang
kapabayaan o kung hindi man) na nagmumula sa anumang paraan mula sa paggamit ng software na ito, kahit na
pinapayuhan ang posibilidad ng naturang pinsala.
Sa pamamagitan ng convention, ang mga pangalan ng lahat Dacs Ang mga serbisyo sa web ay nagsisimula sa prefix na "dacs_" (hal.,
dacs_conf). Simula sa release 1.4.17, lahat ng command na nagpapatupad Dacs pag-andar
magsimula sa prefix na "dacs" (hal., dacsconf). Marami Dacs Ang mga serbisyo sa web ay may utos
mga analogue. Ang mga pangalan ng mga serbisyo sa web na panloob na ginagamit ng Dacs (ibig sabihin, sila ay
hindi kailanman direktang tinawag ng mga user) nagsisimula sa "local_" (hal, local_passwd_authenticate).
Ang mga serbisyo at utos sa web para sa pangkalahatang layunin ay hindi sumusunod sa isang kombensiyon sa pagbibigay ng pangalan, maliban sa
hindi gumagamit ng alinman sa mga naunang nabanggit na prefix.
Ginagamit ang mga kahulugan ng uri ng dokumento (DTD) na pinananatili sa direktoryo ng dtd-xsd
upang idokumento ang mga format ng file o ilarawan ang mga argumento sa a Dacs serbisyo sa web o tugon nito. Sa
sa kasalukuyang pagpapatupad, ang mga DTD file na ito ay hindi ginagamit sa panahon ng XML validation. Mga Katangian
ng uri ng CDATA ay maaaring magkaroon ng karagdagang mga hadlang sa kanilang mga halaga; kumonsulta sa may kinalaman
dokumentasyon. Ang mga file ay teknikal na hindi wastong mga DTD, dahil kulang ang mga ito ng uri ng dokumento
deklarasyon (DOCTYPE); isang naaangkop na DOCTYPE ay nabuo sa pamamagitan ng program sa oras a
Ang DTD ay inilalabas.
mahalaga
Dacs hindi pinipigilan ang ilang uri ng pag-atake laban sa mga web site, gaya ng Pagtanggi of
serbisyo pag-atake[7], Cross-site scripting (XSS)[8] o Cross-site humiling palsipikasyon
(CSRF)[9]. Kapag pinagsama sa naaangkop na mga hakbang sa pagprotekta sa web site, gayunpaman, Dacs
ay nagbibigay ng mga mekanismo upang gawing mas mahirap ang mga ganitong uri ng pag-atake.
Tungkol sa ang manwal Pahina
Ang teknikal na dokumentasyon para sa Dacs ay binubuo ng isang hanay ng mga manu-manong pahina. Sa HTML
koleksyon, isang index pahina[10] may kasamang talaan ng mga nilalaman, mga link sa mga espesyal na anotasyon
sa loob ng teknikal na dokumentasyon, at mga listahan ng mga variable, mga direktiba sa pagsasaayos, at
Mga Kahulugan ng Uri ng Dokumento ng XML.
Tip
Ang bawat pahina ng manual ng HTML ay naglalaman ng tool sa pagpili ng laki ng font malapit sa ibaba nito. Kung
Ang JavaScript ay pinagana, ang kasalukuyang napiling laki ng font ay maaaring baguhin at isang pandaigdigan
hanay ng kagustuhan. Upang pumili ng laki ng font para sa kasalukuyang pahina, mag-click sa isa sa apat
mga kahon. Upang gawing iyong kagustuhan ang kasalukuyang pagpili sa mga manu-manong pahina, pagbisita sa site,
at mga session ng browser, mag-click sa "set" na buton, na magtatakda ng HTTP cookie. Kung ang
ang kagustuhan ay hindi naitakda sa ganitong paraan (ibig sabihin, walang cookie) at isang manu-manong pahina
ay binisita gamit ang parameter ng query DACSMANFONT itinakda sa 0, 1, 2, o 3 (kumakatawan sa
pinakamaliit hanggang sa pinakamalaking sukat ng punto), ang kaukulang font ay pipiliin at ang
Awtomatikong itinatakda ang kagustuhan (kung naitakda ang isang kagustuhan, babalewalain ang parameter).
Tinatalakay ng mga bahagi ng dokumentasyong may label na "Seguridad" ang mahahalagang pagsasaalang-alang sa seguridad;
mangyaring bigyang-pansin sila. Ang mga lugar na may label na "Tip" ay nagbibigay ng mga pointer sa pagtitipid ng oras
(at kung minsan ay nakakabawas ng paglala) na mga diskarte at inirerekomendang mga kasanayan.
Sa mga pathname at URL na lumalabas sa mga halimbawa, ang text na "..." ay kumakatawan sa text na mayroon
ay tinanggal dahil hindi ito nauugnay sa talakayan, o maaaring mag-iba
depende sa mga detalye ng pagsasaayos, tulad ng kung saan na-install ang isang bagay (hal,
.../dacs/bin/dacshttp).
Maliban kung iba ang nakasaad, ang mga URL na ginamit sa mga halimbawa ay kathang-isip at malamang na hindi
trabaho. Ang nakareserbang domain name example.com ay kadalasang ginagamit (RFC 2606[11]).
Sa mga tagubilin at halimbawa, ang isang '%' ay karaniwang ginagamit upang ipahiwatig ang isang command line prompt:
% petsa
Linggo Abr 1 15:33:11 PDT 2007
Minsan ang ibang karakter ay ginagamit upang magpahiwatig ng isang prompt, gayunpaman, tulad ng kung kailan
nagpapakita ng interactive na mode ng dacsexpr(1)[12]:
> 1 + 1
2
Isang pinalawig na anyo ng BNF notasyon[13] ay ginagamit upang ilarawan ang syntax nang maigsi. Sana nga
parehong naiintindihan at pamilyar, ngunit maaaring mangyari ang ilang hindi pagkakapare-pareho at ambiguity
sa buong dokumentasyon; ito ay dahan-dahang pinagbubuti. Ang isang termino sa isang produksyon ay maaaring
magsama ng isang regular na detalye ng uri ng expression, na may '+' na nangangahulugang isa o higit pang mga paglitaw
ng termino, at '*' zero o higit pang mga paglitaw. Ang alinman sa isang set ng mga character ay tinukoy
sa loob ng mga square bracket, at isang hanay ng magkakasunod na character (sa ASCII code sequence) ay
pinaghihiwalay ng isang gitling (hal., [A-Za-z0-9\-_]+ ay nangangahulugang "isa o higit pang mga alphabetic na character,
mga digit, gitling, o salungguhit"). Sa ibang mga konteksto, ang mga square bracket ay nagpapahiwatig ng opsyonal
termino. Ang mga single at double quotes ay tumutukoy sa mga literal na character. Tandaan na ginagamit ng mga XML DTD ang kanilang
sariling syntax, na medyo naiiba, at sa ilang mga kaso sinundan ng mga gramatika na may kaugnayan
Ang mga RFC ay iginagalang para sa kalinawan o sa mga halimbawa.
Key Mga konsepto
Ilan sa mga pangunahing konsepto na ginamit sa buong Dacs ang dokumentasyon ay tinukoy dito
seksyon.
account
Isang patuloy na tala na nag-uugnay ng pagkakakilanlan (o username) sa impormasyon ng estado
tungkol sa account (tulad ng kung ang account ay pinagana o hindi pinagana), impormasyon
na kinakailangan upang patotohanan ang pagkakakilanlan (tulad ng isang digest ng isang string ng password),
at posibleng iba pang impormasyong nauugnay sa pag-sign-on. Tandaan na Dacs ang mga pagkakakilanlan ay hindi
kinakailangang magkaroon ng kaukulang account. Dacs ay hindi nagbibigay ng mga mekanismo sa
pangasiwaan ang "banyagang" mga uri ng account; halimbawa, bagama't maaari itong magpatotoo laban sa
sa kanila, hindi ito makakagawa o makakapaglista ng mga Unix o Windows account.
authentication
Ang pamamaraan kung saan ang isang tao o programa ay nakakakuha ng mga kredensyal na kumakatawan sa a Dacs
pagkakakilanlan, kadalasan sa pamamagitan ng paggigiit ng a Dacs username na kumakatawan sa isang pagkakakilanlan at
pagbibigay ng impormasyon na ang pagkakakilanlang iyon lamang ang malamang na nakakaalam o nagtataglay. Pagkatapos
matagumpay na pagpapatunay, ang isang tao o programa ay sinasabing na-authenticate. Dacs
maaaring mag-interface sa iba't ibang paraan ng pagpapatunay at nagbibigay ng ilan sa mga ito
sariling; ang mga bagong pamamaraan ay madaling maidagdag.
pahintulot
Ang pamamaraan na tumutukoy, sa isang partikular na konteksto, kung isang kahilingan para sa isang ibinigay
ang mapagkukunan o bagay ay dapat pahintulutan. Kung awtorisado ang isang pagkakakilanlan na magsagawa ng a
ilang operasyon sa bagay, ang pag-access ay ipinagkaloob, kung hindi man ito ay tinanggihan. Access
Ang mga panuntunan sa pagkontrol ay isang paraan ng paglalarawan kung aling pagkakakilanlan o pagkakakilanlan ang dapat
ipinagkaloob - o tinanggihan - access sa isang partikular na mapagkukunan. Coarse-grained access control
nagsasangkot ng paggawa ng isang mataas na antas ng pagpapasya kung ang pag-access sa isang bagay ay dapat
ipinagkaloob; ito ay karaniwang isang all-or-nothing na desisyon. Fine-grained access control ay
ginagamit sa loob ng isang programa upang magpasya kung ang pag-access sa isang mas mababang antas na mapagkukunan (ilang data,
isang administrative function, isang menu) ay dapat ibigay.
Tandaan na hindi tulad ng ilang mga sistema, Dacs hindi paunang tinutukoy kung aling mga mapagkukunan ang isang partikular
ang user (pagkakakilanlan) ay maaari at hindi ma-access; ibig sabihin, hindi gumagawa ng listahan ang isang administrator
kung ano ang mga karapatan ng bawat user. Ang pahintulot ay palaging tinutukoy ng pagsusuri ng panuntunan,
sa real time, kapag humiling ang isang user ng mapagkukunan. Ang mga exemption lang dito ay ilan
opsyonal na mga tampok: awtorisasyon Caching[14] at Mga Rlink[15].
Kredensyal
If authentication ay matagumpay, Dacs nagbabalik ng impormasyon na maaaring magamit sa
kasunod na mga operasyon upang kumatawan sa napatotohanang pagkakakilanlan. Ang mga kredensyal ay naglalaman ng
impormasyon tungkol sa pagkakakilanlan, tulad ng pangalan nito, at meta impormasyon, tulad ng
oras kung kailan mawawalan ng bisa ang mga kredensyal at naging di-wasto. Ang mga kredensyal ay protektado
cryptographically upang mahirap silang pekein o baguhin. Dapat silang itago
lihim, upang ang pagkakakilanlan ay hindi magagamit ng sinuman maliban sa may-ari nito, at dapat
samahan ang isang kahilingan na ginawa sa isang server upang Dacs alam kung sino ang gumagawa ng kahilingan. Ang
Ang partikular na mekanismo na ginagamit para dito ay hindi mahalaga kung ang mga kredensyal ay hindi maaaring
kinopya at muling ginamit; pagdadala ng mga kredensyal gamit ang payload ng isang HTTP cookie
tipikal ang isang koneksyon sa SSL, bagama't nagpapadala ng mga kredensyal bilang halaga ng isang HTTP
extension header ay isa pang posibilidad.
Bagama't walang tiyak na limitasyon sa laki ng mga kredensyal hanggang sa Dacs is
nababahala, dahil maaari silang i-encapsulated sa loob ng isang HTTP cookie at ibalik sa a
browser, ang mga hadlang sa cookies na ipinataw ng mga browser ay dapat na maingat na isaalang-alang.
Ang anumang hurisdiksyon ay maaaring maunawaan ang mga kredensyal na ginawa ng anumang iba pang hurisdiksyon sa loob
ang parehong pederasyon. Samakatuwid, isang user lang ang kailangang ma-authenticate nang isang beses upang ma-access
mga serbisyo sa web sa anumang hurisdiksyon gamit ang pagkakakilanlan na iyon.
Tandaan na sa Dacs, ang mga kredensyal ay hindi nagbibigay sa kanilang may-ari ng anumang mga karapatan o nagbibigay ng anuman
awtorisasyon; Dacs ay hindi isang nakabatay sa kakayahan sistema[16]. Ang mga kredensyal ay kumakatawan lamang
a Dacs pagkakakilanlan.
Sumangguni sa dacs_authenticate(8)[17] para sa mga detalye.
kasalukuyan humiling
Ang kaganapan na nag-trigger ng tseke ng pahintulot na pinoproseso ni
dacs_acs(8)[18] ay tinutukoy bilang ang kasalukuyang kahilingan. Para sa isang kahilingan para sa a
Dacs-wrapped web resource, ito ang magiging HTTP request na natanggap ng web
server para sa mapagkukunan. Sa mga sitwasyon kung saan dacs_acs ay hindi kasangkot, tulad ng kapag
dacscheck(1)[19] o dacsexpr(1)[12] ay ginagamit, ang kasalukuyang kahilingan at ang konteksto nito ay
tinukoy ng mga argumento ng command line o nakuha mula sa pagpapatupad
kapaligiran[20].
dacs_acs Gumagamit ${DACS::URI} bilang bahagi ng landas ng kasalukuyang kahilingan. Ito ay
nakuha mula sa Apache's URI elemento ng kasalukuyang request_rec. Ito ang string na iyon
ay ginagamit upang tumugma laban sa mga panuntunan sa kontrol sa pag-access.
iba Dacs Tinutukoy ng mga bahagi ang kasalukuyang kahilingan sa HTTP sa pamamagitan ng pagsusuri sa ilan
mga variable ng kapaligiran: HTTP_HOST (O Server at SERVER_PORT), REQUEST_URI,
QUERY_STRING, at HTTPS.
Ang halaga ng mga ${DACS::URI} at ang bahagi ng landas ng ${Env::REQUEST_URI} ay hindi
kinakailangang pareho. Pagkatapos ng panloob na pag-redirect, halimbawa, ang halaga ng huli ay
mula sa orihinal na URL, habang ang dating ay mula sa target ng pag-redirect.
Ang kasalukuyang string ng kahilingan ay mahalaga dahil maaari itong gamitin upang matukoy ang
kasalukuyan pederasyon[21] at kasalukuyan hurisdiksyon[22], at dahil ito ay ginagamit kapag
naghahanap ng panuntunan sa kontrol sa pag-access na ilalapat sa kahilingan.
Dacs
Binubuo ng mga serbisyo sa web na nakabatay sa CGI, isang Apache 2.0/2.2 module, at isang koleksyon ng
mga kagamitan, Dacs nagbibigay ng pagpapatunay at pagpapagana ng pahintulot. transparent,
Ang coarse-grained role-based na access control ay available para sa web resources.
Ang programmatic, general-purpose na role-based na access control ay available para sa halos anuman
programa (gamit ang dacscheck(1)[19]). Ito ay ganap na na-decoupled mula sa Apache.
Dacs administrador
Isang indibidwal (o indibidwal) na responsable para sa pamamahala ng operasyon ng Dacs is
tinawag na a Dacs administrator (minsan ay "ang administrator" lamang). Ang indibidwal na ito ay
hindi kinakailangang isang system administrator (hal., superuser o root), kahit na maliit
bilang ng mga opsyonal na bahagi ng Dacs dapat isagawa bilang root ng user o pangkat. Ang Dacs
administrator ay hindi kailangang isang Apache tagapangasiwa; minsan Apache ay na-configure para sa
Dacs ito ay karaniwang nangangailangan ng napakakaunting mga pagbabago pagkatapos noon. Ang Dacs administrador
ay responsable para sa pag-configure at pagsubok Dacs (marahil sa pag-install at pag-upgrade nito,
too), pamamahala sa mga user account at mga panuntunan sa kontrol sa pag-access, pag-iingat sa seguridad, pag-back
up configuration at data file, at iba pa. Ang disenyo ng Dacs nagbibigay-daan sa ilang delegasyon
ng responsibilidad, higit na nakabatay sa mga pahintulot ng file. Kapag tinawag bilang isang serbisyo sa web,
bawat isa sa mga pagkakakilanlan na na-configure bilang a ADMIN_IDENTITY[23] ay mabisang a Dacs
tagapangasiwa; sa kontekstong ito, ang system superuser ay walang kabuluhan.
Dacs pagkakakilanlan
Ang bawat authenticated user ay bibigyan ng isang pangalan na binubuo ng pangalan ng
nagpapatunay na hurisdiksyon, pangalan ng pederasyon nito, at isang username. Ang bawat isa sa mga pagpapangalan na ito
dapat na syntactically tama ang mga bahagi. Sa ilang mga konteksto ang pangalan ng pederasyon ay
implicit; minsan implicit din ang pangalan ng hurisdiksyon. Mga entidad tulad ng
indibidwal (mga tao, ngunit pati na rin ang mga programa, device, atbp.), mga federasyon, hurisdiksyon,
at may mga pangalan ang mga grupo. Responsibilidad ng mga hurisdiksyon na patotohanan
mga gumagamit. Ang syntax, kahulugan, at pagiging natatangi ng mga pangalan ay isa ring hurisdiksyon na isyu,
at marahil isang isyu sa buong pederasyon.
Ang bawat tunay na nilalang sa mundo ay karaniwang may natatangi Dacs pagkakakilanlan, ngunit ito ay natitira hanggang sa
nagpapatunay ng mga hurisdiksyon. Ang dalawa o higit pang pagkakakilanlan ay naiiba kung hindi sila tumutukoy
sa parehong tunay na indibidwal sa mundo. Ang federated identity o single sign-on (SSO) ay ang
kakayahang kilalanin ang isang pagkakakilanlan ng user sa mga hurisdiksyon at maging sa mga federasyon.
mahalaga
Tandaan na anuman ang paraan ng pagpapatunay at impormasyon ng account
ginamit, dalawang magkaparehong username (na may kaugnayan sa parehong hurisdiksyon at pagkuha sa
account NAME_COMPARE[24]) ay tahasang ipinapalagay sa sumangguni sa ang pareho pagkakakilanlan by
Dacs. Halimbawa, isang taong nagpatotoo bilang auggie sa pamamagitan ng pagbibigay ng tama
Ang password ng Unix ay halos hindi makilala sa isang taong nagpatotoo bilang
auggie gamit ang isang Information Card. Kasama sa mga kredensyal ng user ang impormasyon tungkol sa
paraan ng pagpapatunay na kasangkot sa kanilang paglikha at ang user()[25] function na maaari
gamitin upang makuha ang impormasyong ito, ngunit hindi matalinong ibase ang mga pagkakakilanlan
ito. Ito ay mahigpit na pinapayuhan na ang isang bago Dacs hurisdiksyon maingat na bumuo ng isang
pinalawak na plano para sa pagpapangalan ng user.
Dacs-balot
Isang web resource daw Dacs-nakabalot kung ang web server ay responsable para sa
mga tawag sa mapagkukunan Dacs (mas partikular, dacs_acs(8)[18]) para gumawa ng access control
desisyon sa tuwing makakatanggap ito ng kahilingan para sa mapagkukunan.
pederasyon
A Dacs ang pederasyon ay binubuo ng isa o higit pang mga hurisdiksyon. Ang mga hurisdiksyon na kinabibilangan
isang federation coordinate pagbabahagi ng impormasyon sa pamamagitan ng magaan na mga kasanayan sa negosyo
ipinatupad bilang pangangailangan ng pagiging kasapi sa a Dacs pederasyon; sa madaling salita, ang
ang mga miyembro ng isang pederasyon ay karaniwang sumasang-ayon na sundin ang ilang mga tuntunin ng pag-uugali sa
pangalagaan ang pangkalahatang seguridad at upang ang mga user ay makakuha ng pinakamataas na benepisyo. Isang federation
na binubuo ng isang hurisdiksyon lamang ay hindi karaniwan.
bagay uri
Ang uri ng item ay isang pangalan na nagmamapa sa a VFS[26] (virtual filestore) detalye na
Kino-configure kung paano at saan iniimbak ang data. Ang antas ng hindi direksyon na ibinibigay nila
nangangahulugan na ang mga panuntunan sa kontrol sa pag-access, halimbawa, ay maaaring i-configure upang maging regular
mga file, isang database ng Berkeley DB, isang malayuang database na na-access ng HTTP, at iba pa - lahat
na kinakailangan ay ang uri ng item acls ay maayos na na-configure. Ilang uri ng item
(tulad ng acls) ay nakalaan at may espesyal na kahulugan sa Dacs, habang ang iba ay magagamit ng
a Dacs administrator para sa iba pang layunin. Ang pangalan ng uri ng item ay case sensitive at
binubuo ng mga alphanumeric, gitling, at salungguhit, ngunit dapat magsimula sa alpabeto
na karakter.
hurisdiksyon
A Dacs ang hurisdiksyon ay isang autonomous administrative entity na nagpapatunay nito
user, nagbibigay ng mga serbisyo sa web, o pareho. Ito ay maaaring tumutugma sa isang organisasyon,
departamento, web server, o virtual host. Ang mga hurisdiksyon ay minsan ay nilikha bilang
isang administratibong kaginhawaan. Ang bawat hurisdiksyon ay itinalaga ng isang natatanging pangalan sa loob ng a
pederasyon.
Ang hurisdiksyon sa tahanan ng isang user ay isang hurisdiksyon na maaaring magpatotoo sa user na iyon. Sa
mga sitwasyon kung saan ang isang user ay may maraming mga kredensyal na nakuha mula sa iba
mga hurisdiksyon, ang epektibong hurisdiksyon sa tahanan para sa isang kahilingan ay nakasalalay sa kung alin
pinipili ang mga kredensyal sa panahon ng pagpoproseso ng awtorisasyon. Ang mga direktiba sa pagsasaayos ay
magagamit upang paghigpitan ang bilang ng mga hanay ng mga kredensyal na maaaring kasama ng isang kahilingan.
gumagamit ahente
Ang user agent ay client-side software na nakikipag-ugnayan sa ibang software (isang server
aplikasyon, karaniwan) sa ngalan ng a gumagamit. Ang isang gumagamit ay madalas na isang tao ngunit maaari rin
software. Ang isang web browser, na ginagamit upang makipag-ugnayan sa isang web server, ay isang halimbawa ng
isang ahente ng gumagamit.
Naming
Dacs kailangang pangalanan ang iba't ibang bagay upang ang mga ito ay matukoy sa mga ekspresyon,
mga panuntunan sa kontrol sa pag-access, mga direktiba sa pagsasaayos, at iba pa. Habang ang URI syntax ay ginagamit upang
pangalanan ang ilang uri ng mga bagay sa loob Dacs, Dacs ay mayroon ding sarili nitong maigsi na mga scheme ng pagbibigay ng pangalan.
nota
Ang mga terminong kasalukuyang federation (kasalukuyang hurisdiksyon) at ang federation na ito (ito
hurisdiksyon) ay ginagamit sa dokumentasyon upang sumangguni sa pederasyon ( hurisdiksyon)
nauugnay sa konteksto ng pagsasaayos na may bisa habang Dacs nagpoproseso ng kahilingan.
Sa pangkalahatan, ang federation-name ang bahagi ng isang pangalan ay opsyonal; kung wala, ang
ipinapalagay ang kasalukuyang pederasyon. Katulad nito, ang hurisdiksyon-pangalan maaaring elided at ang
ang kasalukuyang hurisdiksyon ay ipinahiwatig.
Pederasyon
Syntax:
federation-name::
Halimbawa:
DEMO::
Ang federation-name (karaniwang nakukuha mula sa a FEDERATION_NAME[27] pagsasaayos
direktiba) ay dapat magsimula sa isang alpabetikong karakter at sinusundan ng zero o higit pa
alphanumerics, hyphens, at underscore. A federation-name ay karaniwang ginagamot na kaso
sensitibo (ngunit tingnan ang NAME_COMPARE[24] direktiba ng pagsasaayos at ang user()[25]
function para sa mga alternatibong pag-uugali). Walang a priori limitasyon sa haba nito.
Ang FEDERATION_DOMAIN[28] ang direktiba ay tumutukoy sa domain name suffix na karaniwan sa lahat
mga hurisdiksyon sa isang pederasyon.
Jurisdictions
Syntax:
[[federation-name:: | [::]] hurisdiksyon-pangalan:
Halimbawa:
DEMO::DSS:
::DSS:
DSS:
Ang hurisdiksyon-pangalan (karaniwang nakukuha mula sa a JURISDICTION_NAME[29] pagsasaayos
direktiba) ay dapat magsimula sa isang alpabetikong karakter at sinusundan ng zero o higit pa
alphanumerics, hyphens, at underscore. A hurisdiksyon-pangalan ay karaniwang ginagamot
case sensitively (ngunit tingnan ang NAME_COMPARE[24] direktiba ng pagsasaayos at ang
user()[25] function para sa mga alternatibong pag-uugali). Walang a priori limitasyon nito
haba.
Users
Syntax:
[[[federation-name:: | [::]] hurisdiksyon-pangalan]:username
Halimbawa:
DEMO::DSS:auggie
::DSS:auggie
DSS: auggie
:auggie
Isang puno Dacs Kasama sa pagkakakilanlan ang bahagi ng pangalan ng pederasyon at pangalan ng hurisdiksyon
bahagi, bilang karagdagan sa username. Ito ay ibinibigay sa Dacs-nakabalot na mga programa bilang ang
halaga ng DACS_IDENTITY[30] variable ng kapaligiran.
Ang sangkap ng username, na magagamit sa mga programa ng CGI bilang halaga ng
DACS_USERNAME[31] environment variable, binubuo ng isa o higit pang ASCII character mula sa
ang set ng upper at lower case alphabetics, digit, at ang mga sumusunod na bantas
mga character:
! # $ % & ' - . ; ? @ [ ^ _ ` { }
Ang lahat ng mga character na may halagang mas mababa sa 041 (octal) o mas mataas sa 0176 (octal) ay
hindi wasto, gaya ng mga sumusunod na character:
* , : + ( ) ~ < > = | \ / "
Mga Tala
· Bilang karagdagan sa mga alphanumeric na character, RFC 2396[32] pinapayagan lamang ang
sumusunod na mga character ("pchar") na lumabas sa bahagi ng path ng isang URI:
-_ . ! ~ * ' ( ) % : @ & = + $ ,
· Ang ilang mga wastong email address ay hindi wasto Dacs mga username. Halimbawa,
*bob*@example.com, "(bob)"@example.com, at \(bob\)@example.com ay may bisa
mga pangalan ng mailbox gaya ng tinukoy ng RFC 822[33] (Appendix D) at tinalakay sa RFC
3696[34] (Seksyon 3), ngunit pareho ay hindi wasto bilang Dacs mga username. Maliban kung sinipi,
ang bahaging lokal na bahagi ng isang email address, na nauuna sa karakter na "@".
sa addr-spec, maaaring hindi naglalaman ng anuman sa:
( ) < > @ , ; : \ " . [ ]
Bukod pa rito, ang espasyo at lahat ng US-ASCII control character (octets 0 - 31)
at DEL (127) ay hindi pinapayagan. Kung walang mga panipi, ang lokal na bahagi ay maaaring binubuo ng
anumang kumbinasyon ng mga alpabeto, digit, o alinman sa mga sumusunod na character:
! # $ % & ' * + - / = ? ^ _` . { | } ~
Ang isang tuldok (".") ay maaaring gamitin, ngunit hindi maaaring magsimula o magtapos sa lokal na bahagi, o maaaring
lumalabas ang dalawa o higit pang magkakasunod na yugto. Sa loob ng dobleng panipi, anumang ASCII
maaaring lumitaw ang karakter kung maayos na sinipi (hal., Auggie."
".O."\'".[protektado ng email]). Ang maximum na haba ng lokal na bahagi ay 64
mga character, at ang maximum na haba ng bahagi ng domain na lalabas pagkatapos
ang character na "@" ay 255 character.
Sa kasalukuyan ay walang paraan upang "mag-quote" a Dacs username, kaya ilang ligtas na pag-encode
paraan o pagbabago ay dapat ilapat sa mga pangalang ito.
· Dacs maaaring lumikha ng mga pagkakakilanlan para sa panloob na paggamit na mayroong mga bahagi ng username na
isama ang mga character na karaniwang hindi wasto.
· AT username ay case sensitive (ngunit tingnan ang NAME_COMPARE[24] pagsasaayos
direktiba at ang user()[25] function para sa mga alternatibong pag-uugali). Walang a
priori limitasyon sa haba nito.
· Ang inirerekomendang kasanayan ay para sa mga hurisdiksyon na imapa ang kanilang mga Dacs mga username sa
lower case sa panahon ng authentication procedure kung saan posible at kapag ang
ang mga pagmamapa ay natatangi. Ang EXIT*[35] ang direktiba ay maaaring gamitin para sa layuning ito.
Grupo
Syntax:
[[federation-name:: | [::]] %[hurisdiksyon-pangalan]:Pangalan ng grupo
A Pangalan ng grupo dapat magsimula sa isang alpabetikong karakter at maaaring sundan ng anumang numero
ng alphanumeric, hyphen ("-"), at underscore ("_") na mga character.
Halimbawa:
%DEMO::DSS:mga kaibigan
%::DSS:mga kaibigan
%DSS:mga kaibigan
%:kaibigan
Mga Tungkulin at Deskriptor ng Tungkulin
Syntax:
Role-Descriptor -> Empty-String | Listahan ng Tungkulin
Listahan ng Tungkulin -> Papel | Papel "," Listahan ng Tungkulin
Papel -> Basic-Role | Composite-Role
Basic-Role -> [A-Za-z0-9\-_]+
Composite-Role -> Basic-Role "/" Basic-Role | Basic-Role "/" Composite-Role
Empty-String -> ""
Binubuo ang isang string ng deskriptor ng tungkulin (tinatawag ding string ng tungkulin o descriptor ng tungkulin).
isang listahan ng mga tungkulin na pinaghihiwalay ng kuwit. Ang pangalan ng isang tungkulin (a Basic-Role) ay itinayo mula sa
malaki at maliit na titik, digit, gitling, at salungguhit. A Composite-Role is
binuo mula sa dalawa o higit pa Basic-Role mga termino, na pinaghihiwalay ng isang slash na character. Dito
ay tatlong halimbawa ng isang deskriptor ng tungkulin:
admin, gulong, ugat
admin/hardware
network/programming,computer-science/systems/Project_X
nota
Ang string ng descriptor ng tungkulin ay walang mga white space na character at maaaring hindi magsimula o
nagtatapos sa isang kuwit o slash na karakter. Ang dalawa o higit pang magkasunod na kuwit ay ilegal,
gaya ng dalawa o higit pang magkasunod na slash.
Ang setvar()[36] ang function ay maaaring gamitin upang paghiwalayin ang isang pinagsama-samang papel sa pangunahing nito
mga tungkulin.
Mangyaring sumangguni sa dacs.groups(5)[37] para sa karagdagang impormasyon.
Maikling Syntax ng User
Syntax:
ident -> '{' kwv-list '}' | gumagamit
kwv-list -> kwv [',' kwv]*
kwv -> kwv-user | kwv-grupo | kwv-attr | kwv-ip | kwv-magpapaso
kwv-user -> 'u=' [Q] gumagamit [Q]
kwv-grupo -> 'g=' [Q] grupo [Q]
kwv-attr -> 'a=' [Q] attr [Q]
kwv-magpapaso -> 'e=' [Q] mag-e-expire [Q]
kwv-ip -> 'ip=' [Q] ip-addr [Q]
gumagamit -> simpleng pangalan | DACS-pagkakakilanlan
grupo -> grupo [',' grupo]*
grupo -> Pangalan ng grupo | role-descriptor
attr -> anumang-alpabetikong
ip-addr -> anumang-IP-addr
mag-e-expire -> +rel-seg | petsa
kung saan:
· Ang Q ay isang opsyonal (katugmang) quote character;
· Maaaring opsyonal na mauna ang whitespace sa karamihan ng mga token;
· a DACS-pagkakakilanlan ay isang buo o dinaglat Dacs pagkakakilanlan[38]
· a simpleng pangalan ay ang username bahagi ng a Dacs pagkakakilanlan (ibig sabihin, walang anumang
colon); dahil dito sa kontekstong ito, ang isang "espesyal" na pangalan, tulad ng auth, ay ginagamot
bilang :auth
· role-descriptor dapat may bisa Dacs string ng papel at Pangalan ng grupo dapat may bisa
Dacs pangalan ng grupo (tingnan dacs_authenticate(8)[39] at dacs.groups(5)[40]);
· Ang isang IP address ay ipinahayag sa pamantayan ng Internet na numeric dot notation (hal,
10.0.0.1); at
· ang buhay ng mga kredensyal na nagmula sa pagkakakilanlan ay maaaring ipahayag alinman bilang a
ibinigay na bilang ng mga segundo (hal., "e=+3600") o isang ibinigay na petsa sa isa sa mga sumusunod
mga format (tingnan strptime(3)[41]):
%a, %d-%b-%Y %H:%M:%S GMT
%d-%b-%Y
%b %d, %Y
%b %d
%Y-%m-%dT%H:%M:%SZ
Kung kinakailangan, ang mga petsa ay binibigyang kahulugan na may kaugnayan sa kasalukuyang oras o petsa. Ang
habang buhay ay na-convert sa canonical form nito, na siyang ganap na oras at petsa
sa ilang segundo mula noong Epoch, batay sa orasan ng hurisdiksyon. Isang date sa nakaraan
maaaring tukuyin; ito ay maaaring maging kapaki-pakinabang para sa pagsubok, halimbawa. Kung ang pagkakakilanlan
ay hindi ginagamit upang lumikha ng mga kredensyal, ang petsa ng pag-expire ay binabalewala, bagaman ito ay dapat
syntactically tama.
· ang tanging sinusuportahang halaga ng katangian ay "a", na nangangahulugan na ang pagkakakilanlan ay dapat na
itinuturing bilang isang ADMIN_IDENTITY[23] (sumangguni sa -admin watawat ng dacscheck(1)[19]).
Ang isang pangalan na ipinahayag sa maigsi na syntax, ay nagbibigay ng isang username at, opsyonal, mga tungkulin at
mga katangian para sa pagkakakilanlan. Ito ay ginagamit ng dacscheck(1)[19], halimbawa.
Ang dacs Gamit
Dacs Ang mga utility command ay karaniwang naka-install bilang hiwalay na mga binary, ngunit Dacs maaari (din o
sa halip) ay binuo kasama ang karamihan sa kanila na pinagsama sa isang binary na naka-install bilang
dacs. Ang iba't ibang mga programa ng utility ay maaaring tumakbo bilang:
% dacs dacs-utos [dacsoptions] [command-opsyon]
Halimbawa:
% dacs dacskey -u foo.myfed.com outfile
Pagpapatakbo ng dacs Ang utility na walang mga argumento ay magpapakita ng listahan ng mga magagamit na sub-command.
Simulan-up Pagproseso
tulay Dacs ginagawa ng mga program ang mga sumusunod na aksyon kapag nagsimula sila:
1. Tukuyin ang "mode" kung saan sila dapat gumana; halimbawa, kung ang REMOTE_ADDR
environment variable ay naroroon, ang mga programa ay sa pangkalahatan ay ipagpalagay na dapat silang tumakbo bilang a
web application sa halip na bilang isang utility command
2. Magproseso ng karaniwang hanay ng mga argumento ng command line (dacsoptions[42])
3. Itakda ang prosesong umask sa 007 upang hindi payagan ang pag-access sa mundo para sa anumang nilikhang mga file
4. Huwag paganahin ang isang pangunahing dump upang hindi maihayag ang sensitibong impormasyon sa pamamagitan ng pagsusuri sa mga ito
(ngunit tingnan --enable-dump[43])
5. Tumangging gumana kung ang anumang configuration file ay hindi mahanap o may error
6. Para sa mga serbisyo sa web, gawin ang Dacs home directory ang kasalukuyang working directory
7. Kung ang "secure mode" ay pinagana, ang mga serbisyo sa web ay magpoproseso lamang ng mga kahilingan sa HTTPS
8. I-verify na ang bersyon na kinakailangan ng isang kahilingan ay tugma sa bersyon ng Dacs
pagtanggap ng kahilingan
9. Iproseso ang anumang mga argumento ng command line na tukoy sa programa.
Dacs ang mga programa ay nagsisikap na sirain ang sensitibong impormasyon (tulad ng mga password) sa lalong madaling panahon
dahil hindi na ito kailangan at hindi na magsulat ng potensyal na sensitibong impormasyon upang mag-log ng mga file
maliban kung partikular na na-configure upang gawin ito.
Internals
ilan Dacs Ang mga bahagi ay maaaring tumawag sa iba pang mga bahagi gamit ang HTTP (maaaring sa pamamagitan ng SSL, depende sa
pagsasaayos). Halimbawa, ang mga module ng pagpapatotoo ay maaaring gamitin bilang mga serbisyo sa web ng
dacs_authenticate(8)[39]. Sa lahat ng sitwasyon, ang mga "internal" na HTTP na tawag na ito ay maaaring hindi magresulta sa a
pag-redirect, gaya ng sa pamamagitan ng 302 Found status code. Bagaman ito ay maaaring minsan ay isang
abala, ito ay, sa bahagi, isang hakbang sa seguridad.
Tip
Kapag nagde-debug ng problema na maaaring may kasamang panloob na kahilingan sa HTTP (lalo na nauugnay
sa pagpapatunay), i-verify iyon Dacs ay hindi tumatanggap ng redirect. Panloob na HTTP
ang mga kahilingan ay maaari ding mahiwagang mabigo dahil sa hindi tama o hindi kumpletong configuration
ng mga parameter ng SSL. Mga panloob na kahilingan sa HTTP sa paggamit ng SSL sslcient(1)[4], gaya ng ginagawa ng
dacshttp(1)[3] utos. Kung pinaghihinalaan mo na maaaring hindi gumagana ang isang https-schemed na URL,
i-debug ang problema gamit sslcient at pagkatapos ay dacshttp.
Upang mapanatili ang pagkakapare-pareho ng data, Dacs lumilikha ng mga eksklusibong kandado gamit ang fcntl(2)[44] sistema
tawag sa mga file na nakasulat sa direktoryo na na-configure sa pamamagitan ng TEMP_DIRECTORY[45]
Directive.
Pagtotroso
tulay Dacs ang mga serbisyo at mga utility ay nagsusulat ng iba't ibang uri ng mga mensahe sa isa o higit pang mga log file.
Ang mga mensaheng ito ay maaaring maging napakahalaga kapag sinusubukang malaman kung ano Dacs ay ginagawa, para sa
mga pag-audit sa seguridad, o upang makita kung alin Dacs-na-access ang mga nakabalot na mapagkukunan at sa kung ano
mga paraan.
Mangyaring sumangguni sa dacs.conf(5)[46] para sa impormasyon tungkol sa mga direktiba ng pagsasaayos na nauugnay sa
pagtotroso. Ang isang assortment ng mga flag ng command line, na inilarawan sa ibaba, ay nauugnay din sa
pagtotroso.
nota
· Dacs maaaring maglabas ng mga log message bago makumpleto ang pagpoproseso ng configuration at
ang mga direktiba sa pagsasaayos na nauugnay sa pag-log ay hindi may bisa sa panahong ito
agwat ng pagsisimula.
· Dahil mod_auth_dacs[2] ay isang Apache module, ang Apache nalalapat ang mga direktiba sa pag-log
dito (at hindi ang Dacs mga direktiba) at ang mga log message nito ay isinulat sa Apache mag-log
file.
· Ang mga file ng log ay maaaring mabilis na maging malaki, lalo na kapag ang antas ng pag-log ay nakatakda sa
mga antas ng pag-debug o pagsubaybay. Isaalang-alang ang pang-araw-araw na pag-ikot o pagputol.
· Ang teksto ng isang log message ay maaaring paminsan-minsan ay sumasaklaw sa ilang linya.
Ang default na halaga ng LOG_FORMAT[47] direktiba, na kumokontrol sa hitsura ng log
mga mensahe, ay tinukoy sa include/local.h bilang LOG_FORMAT_DEFAULT_WEB para sa Dacs mga serbisyo sa web
at LOG_FORMAT_DEFAULT_CMD para sa lahat ng iba pa. Narito ang isang karaniwang mensahe ng log:
[Wed Hul 12 12:37:09 2006] [trace] [83648,1060,-] [dacs_acs:"acslib"] Payagan
ang sugnay ay nagbibigay ng access
Audit-Class Log Pagpapaskil
Sa kaso ng mga audit-class na mensahe, maaaring sumunod ang isang string sa loob ng mga panaklong
isang pagkakakilanlan, tulad ng sa mga halimbawa sa ibaba. Ang string na ito, na tinatawag na tracker, ay nag-uugnay ng log
mga mensahe na may partikular na pinanggalingan at maaaring gamitin upang masubaybayan ang pagkakasunud-sunod ng user ng
mga kahilingan sa serbisyo gamit ang mga log message sa buong federation. Ito ay maaaring maging kapaki-pakinabang kapag
debugging, naghahanap ng mga problema sa seguridad, o forensic analysis.
Para sa isang hindi napatotohanang user, ang tracker ay maaari lamang makuha sa heuristikong paraan, mula sa
mga elemento ng konteksto ng pagpapatupad. IP address ng user, string ng user agent, at SSL
ang sertipiko ng kliyente, kapag magagamit, ay ginagamit. Kung magkaiba ang dalawa sa mga string ng tracker na ito,
ang mga kahilingan ay karaniwang nagmumula sa iba't ibang host, browser, o user, ngunit ito
ay hindi palaging ang kaso. Katulad nito, kung ang parehong tracker string ay
nauugnay sa dalawang mensahe ng log, ang mga kahilingan sa serbisyo ay hindi kinakailangan
na ibinigay ng parehong gumagamit.
Para sa isang napatotohanang user, ang tracker string ay binubuo ng heuristically-derived
string, na sinusundan ng kuwit, na sinusundan ng isang string na natatanging nauugnay sa user
mga kredensyal. Ang tracker na ito ay may mataas na posibilidad na maging kakaiba at magkaroon ng a
isa-sa-isang pagmamapa sa isang partikular na user.
Isaalang-alang ang mga (naka-condensed) na mga entry ng log file na ito:
[Wed Hul 12 15:56:24 2006] [notice] [83963,1067,A] [dacs_acs:"authlib"]
*** Ibinigay ang access sa hindi napatotohanang user (7vJLWzv5) mula 10.0.0.124
para sa /cgi-bin/dacs/dacs_current_credentials
[Wed Hul 12 15:56:27 2006] [notice] [83965,1073,A] [dacs_acs:"authlib"]
*** Ibinigay ang access sa hindi napatotohanang user (7vJLWzv5) mula 10.0.0.124
para sa /cgi-bin/dacs/dacs_authenticate
[Wed Hul 12 15:56:27 2006] [debug] [83966,172,A] [dacs_authenticate:"authlib"]
Nagtagumpay ang pag-authenticate para sa HOME:bobo (7vJLWzv5,wA/Pudyp3f0)
[Wed Hul 12 15:56:30 2006] [notice] [83973,1078,A] [dacs_acs:"authlib"]
*** Ibinigay ang access sa DSS::HOME:bobo (7vJLWzv5,wA/Pudyp3f0)
mula sa 10.0.0.124 para sa /cgi-bin/dacs/dacs_current_credentials
Sa unang dalawa sa mga mensahe ng log sa itaas, lumalabas ang tracker na 7vJLWzv5, ibig sabihin, iyon
ang dalawang kahilingan ay malamang na nagmula sa parehong (hindi napatotohanan) na gumagamit. Kasama ang pangatlo
log message, napatotohanan ang user at ang tracker na 7vJLWzv5,wA/Pudyp3f0 ay
ginamit. Dahil ang mga tagasubaybay na ito ay may parehong prefix, ang unang dalawang kahilingan
malamang galing din sa nag authenticate bilang DSS::HOME:bobo. Ang huling kahilingan,
para sa /cgi-bin/dacs/dacs_current_credentials, talagang nagmula sa user na iyon. Kung ito
mag-signout ang user at pagkatapos ay mag-isyu ng higit pang mga kahilingan sa serbisyo saanman sa federation
DSS, ang bawat mensahe ng log ay naglalaman ng tracker na 7vJLWzv5.
Katiwasayan
Ang pagsubaybay sa mga kahilingan ng mga hindi kilalang user na mapagkakatiwalaan ay mahirap gawin nang maayos. A
Ang diskarteng nakabatay sa cookie ay maaaring maging mas mahusay sa ilang mga sitwasyon ngunit may sariling mga kakulangan
(tulad ng pagiging ganap na hindi epektibo kapag hindi pinagana ng user ang cookies).
Pagsubaybay gumagamit Aktibidad
Dacs may kasamang feature, na naka-enable bilang opsyon sa build-time (tingnan dacs.install(7)[48]), kung saan
masusubaybayan ng isang hurisdiksyon ang aktibidad ng lahat ng user nito (ibig sabihin, ang mga user na iyon
patotohanan sa hurisdiksyon). Ang bawat matagumpay na kaganapan sa pagpapatotoo, tahasang pag-signout
kaganapan, at kaganapan ng kahilingan sa serbisyo sa web na isinumite ng user ay maaaring i-record sa tahanan ng user
hurisdiksyon sa format na tinukoy ng dacs_user_info.dtd[49]. Ang impormasyong ito ay maaaring
mahalaga para sa mas mahusay na pag-unawa sa kung ano ang nangyayari sa isang pederasyon,
kabilang ang pagtulong sa pag-diagnose ng mga isyu sa pagganap at seguridad. Ito ang batayan ng mga tampok
tulad ng mga pagpapakita ng kamakailang aktibidad ng account, at maaari rin itong gamitin upang lumikha ng bago
mga kakayahan, tulad ng kasabay na limitasyon sa pag-log in o isang adaptive na bahagi ng pagpapatotoo sa
ipatupad ang layered authentication o risk-based na authentication.
Upang tukuyin kung saan at kung paano dapat panatilihin ng hurisdiksyon ng tahanan ang mga talaang ito, ang user_info
dapat tukuyin ang uri ng item sa hurisdiksyon na iyon; kung hindi ito tinukoy, walang mga talaan
nakasulat sa hurisdiksyon na iyon, bagama't susubukan pa rin ng hurisdiksyon na magpadala ng kaganapan
mga tala sa iba pang mga hurisdiksyon. Para sa maximum na benepisyo, dapat na pinagana ang feature
mga hurisdiksyon sa isang pederasyon dahil ang lahat ng aktibidad ng user sa buong federation ay maaari
ma-log.
Kung nais ng isang hurisdiksyon na subaybayan ang aktibidad ng mga gumagamit nito sa ibang mga hurisdiksyon, ito
dapat pahintulutan ang mga hurisdiksyon na iyon na gamitin ito dacs_vfs(8)[50] serbisyo sa pamamagitan ng pagdaragdag ng isang
naaangkop na panuntunan sa kontrol sa pag-access.
Katiwasayan
Ito ay kritikal para sa anumang naturang tuntunin na nangangailangan ng dacs_admin()[51] panaguri.
nota
· Ang dacs_admin(8)[52] ang mga tool ay nagbibigay ng interface sa mga talaang ito. Dapat
sa kalaunan ay palawigin upang mangolekta at ayusin ang mga talaan na makikita sa lahat ng hurisdiksyon
sa isang pederasyon upang mapadali ang pagsusuri. Dahil ang mga ito ay mga text file na may a
medyo simpleng format, hindi dapat mahirapan ang mga administrator na mag-apply
karaniwang mga tool sa pagpoproseso ng teksto o sumulat ng maikli, custom na mga programa para sa layuning ito.
Mga utos na kahalintulad sa huli(1)[53], sino(1)[54], at sa(8)[55] ay isinasaalang-alang.
· Ang bawat hurisdiksyon ay dapat magsulat ng mga tala sa sarili nitong lugar (ibig sabihin, mga hurisdiksyon
hindi dapat magbahagi ng parehong object ng VFS para sa user_info).
· Ang database na ito ay lalago nang walang katiyakan; ang isang administrator ay may pananagutan sa pag-ikot
o pinuputol ito. Kung ang nakaraan at aktibong pag-sign sa impormasyon ay mahalaga (tingnan
dacs_current_credentials(8)[56]), putulin lamang ang mga talaan ng kahilingan (ibig sabihin, ang acs
mga elemento). Ang isa pang katanggap-tanggap na paraan ay ang itapon (o i-archive) ang ilang proporsyon ng
mas lumang mga talaan (sabihin, kalahati) at panatilihin ang ilan sa mga mas bagong talaan.
· Maaaring magbago ang format ng data.
· Maaaring magdagdag ng isang direktiba upang paganahin o huwag paganahin ang tampok na ito sa oras ng pagtakbo.
· Ang panloob na mga kaganapang pang-administratibo ay hindi naitala.
· Dahil nagla-log off (sa pamamagitan ng dacs_signout(8)[57]) ay opsyonal, ang pagtatapos ng isang session
minsan ay maaari lamang mahihinuha o tinatantya mula sa pag-expire ng mga kredensyal o
ang oras ng huling naitala na kaganapan.
Opsyon
Dacs ang mga programa at serbisyo sa web ay nakakakuha ng marami sa kanilang run-time na impormasyon sa pagsasaayos sa pamamagitan ng
pagbabasa ng mga configuration file at pagsusuri sa mga variable ng kapaligiran. Ilang configuration
ang impormasyon ay maaaring ibigay sa oras ng pag-compile. Maaaring gamitin ang ilang mga flag ng command line
i-override ang default na gawi.
nota
· Lahat dacsoptions ang mga flag ay pinoproseso mula kaliwa-pakanan at dapat lumitaw bago ang anuman
bandila o argumentong tukoy sa utos. Ang unang bandila o argumento na hindi
kinikilala bilang isa sa dacsoptions tinatapos ang listahan.
· Ang pinakamahalagang dacsoptions ay ang mga tumutukoy sa lokasyon ng
configuration file at tukuyin ang seksyon ng hurisdiksyon na gagamitin sa loob ng a
configuration file. Depende sa program at kung paano ito ginagamit, configuration
maaaring hindi kailanganin ang impormasyon, maaaring opsyonal, o maaaring kailanganin.
· Karamihan sa isa sa mga flag ng command line upang pumili ng isang seksyon ng hurisdiksyon ay maaaring
tinukoy. Sumangguni sa dacs.conf(5)[46] para sa karagdagang impormasyon sa
configuration file at pagpoproseso ng configuration.
Marami Dacs Kinikilala ng mga utility ang mga sumusunod na karaniwang opsyon, na tinatawag na
dacsoptions:
-c dacs.conf
Sinasabi nito Dacs kung saan makakahanap ito ng configuration file para sa hurisdiksyon kung kanino
sa ngalan nito ay kumikilos. Kung wala ang argumentong ito, depende sa kung paano ito binuo,
Dacs maaaring subukang gumamit ng tinukoy na file sa oras ng pag-compile o susubukan nitong gamitin ang
halaga ng variable ng kapaligiran DACS_CONF[58]. Para sa mga detalye, sumangguni sa Hinahanap
dacs.conf at site.conf[59].
-Dpangalan=halaga
Ang epekto ng flag na ito ay upang tukuyin ang variable pangalan (na dapat syntactically valid)
nasa Dacs namespace upang magkaroon ng halaga halaga. Anumang quotes sa paligid halaga ay pinananatili,
basta't hindi pa nahuhubad ng shell ang mga ito. Maaaring maulit ang watawat na ito. Ang mga ito
ang mga variable ay maaaring masuri sa panahon ng pagpoproseso at panuntunan ng configuration
pagproseso; halimbawa, ang halaga ng isang direktiba sa pagsasaayos ay maaaring depende sa
halaga ng a dacsoptions bandila. Pagtukoy sa a pangalan na nangyayari na tumutugma sa a
dacsoptions walang epekto ang flag maliban sa paglikha ng variable.
lahat dacsoptions mga watawat (hindi kasama ito isa) ay awtomatikong idinaragdag sa Dacs
namespace habang pinoproseso ang mga ito. Isang bandila na isang "singleton" (hal., -q) ay sa simula
nagtalaga ng halaga ng isa at dinaragdagan sa bawat kasunod na paglitaw. Isang bandila ng
ang form -bandila halaga ay katumbas ng -D-bandila=halaga. Ang mga hindi nagamit na flag ay hindi natukoy; kung -q
ay hindi ibinigay, ${DACS::-q} ay hindi matukoy. Para sa mga watawat na may kasingkahulugan, a
variable para sa bawat kasingkahulugan ay nilikha. Kung ang pangalan ay ginagamit, tahasan o hindi malinaw,
pinapalitan ng mga mamaya na halaga ang mga nauna.
Halimbawa, kung ang dacsoptions ay:
-c www.example.com -v --verbose -Dfoo="baz" -ll debug -D-ll=trace
pagkatapos ang mga variable ay tutukuyin tulad ng sumusunod:
Ang ${DACS::-c} ay "www.example.com"
Ang ${DACS::-v} ay "2"
Ang ${DACS::--verbose} ay "2"
Ang ${DACS::foo} ay "\"baz\""
Ang ${DACS::-ll} ay "trace"
Ang antas ng pag-debug ay magiging debug at hindi trace.
--dumpenv
I-print ang lahat ng mga variable ng kapaligiran sa stdout at pagkatapos ay lumabas kaagad.
--enable-dump
Sa pamamagitan ng default, Dacs mga serbisyo sa web at karamihan sa mga utos ay hindi pinapagana ang pagbuo ng core dump bilang isang
pag-iingat sa seguridad. Dahil maaaring maging kapaki-pakinabang ang isang core dump kapag nagde-debug, ang flag na ito
pinapayagan itong malikha. Tulad ng mga programa na pinapayagang gumawa ng isang pangunahing dump ay dapat
baguhin sa DACS_HOME direktoryo, ang mga core dump ay isusulat doon. Gamitin ang watawat na ito
may pag alaga.
-porma fmt
Ang format ng output ay nakatakda sa fmt, na isa sa mga sumusunod na keyword (case
insensitive): file, html, json, php, plain, text, xml, xmldtd, xmlsimple, o
xmlschema. Hindi lahat ng mga format ng output ay sinusuportahan ng lahat ng mga programa. Ino-override ang watawat na ito
anumang FORMAT[60] argumento sa isang serbisyo sa web, na kung saan ay na-override ang default ng isang programa
pormat. Ang default na format ay nakasalalay sa partikular na programa at paraan ng paggamit nito.
Para sa karagdagang impormasyon, sumangguni sa paglalarawan of ang FORMAT argumento[60].
-ll antas ng pag-log
Ang antas ng pag-log ay nakatakda sa antas ng log, na isa sa mga keyword na kinikilala ng
LOG_FILTER[61] direktiba.
--lisensya
I-print ang lisensya para sa Dacs upang stdout at pagkatapos ay lumabas kaagad.
-q
Manahimik ka. Katumbas ito ng pagtatakda ng antas ng pag-log upang magbigay ng babala.
-sc site.conf
Sinasabi nito Dacs na makakahanap ito ng configuration file para sa hurisdiksyon kung kanino
sa ngalan nito ay kumikilos. Kung wala ang argumentong ito, depende sa kung paano ito binuo,
Dacs maaaring subukang gumamit ng tinukoy na file sa oras ng pag-compile o susubukan nitong gamitin ang
halaga ng variable ng kapaligiran DACS_CONF[58]. Para sa mga detalye, sumangguni sa Hinahanap
dacs.conf at site.conf[59].
--std
Bina-flag nito ang pagtatapos ng mga karaniwang argumento. Ang susunod na argumento ng command line, kung mayroon man, ay
tiyak sa programa.
-t
Maglabas ng impormasyon sa pagsubaybay. Ito ay katumbas ng pagtatakda ng antas ng pag-log upang masubaybayan.
(Tingnan din debug_dacs[62].)
-u config-uri
Ito ay nagtuturo Dacs upang gamitin ang config-uri upang piliin ang seksyon ng hurisdiksyon na gagamitin sa
configuration file. Para sa mga detalye, sumangguni sa Ang hurisdiksyon seksyon[63].
-uj hurisdiksyon-pangalan
Ito ay nagtuturo Dacs gamitin ang pangalan ng hurisdiksyon hurisdiksyon-pangalan upang piliin ang
seksyon ng hurisdiksyon na gagamitin sa configuration file. Para sa mga detalye, sumangguni sa Ang
hurisdiksyon seksyon[63].
-a
Ito ay nagtuturo Dacs hindi iproseso ang site.conf o dacs.conf. Ito ay maaari lamang gamitin sa
isang maliit na bilang ng mga utos, tulad ng dacsacl(1)[64] at sslcient(1)[4].
-pataas hurisdiksyon-pangalan
HINDI IPATUPAD. Ito ay nagtuturo Dacs gamitin ang pangalan ng hurisdiksyon hurisdiksyon-pangalan sa
piliin ang seksyon ng hurisdiksyon na gagamitin sa configuration file at sasabihin dito na ang
ang web server ay kumikilos bilang isang forward proxy; yan ay, hurisdiksyon-pangalan hindi
kinakailangang "pagmamay-ari" ang hiniling na URL. Para sa mga detalye, sumangguni sa Ang hurisdiksyon
seksyon[63].
-kami
Ito ay nagtuturo Dacs upang gamitin ang isa-at-lamang na seksyon ng hurisdiksyon na lumalabas sa
configuration file. Iyon ay, ang configuration file ay dapat maglaman ng eksaktong isa
jurisdiction section at iyon ang dapat gamitin. Para sa mga detalye, sumangguni sa
Ang hurisdiksyon seksyon[63].
-v
--verbose
Maging mas verbose, na nauugnay sa kasalukuyang antas ng pag-log. Maaaring maulit ang watawat na ito.
--bersyon
I-print ang impormasyon ng bersyon sa stderr kaagad at pagkatapos ay lumabas. Kung -v lumitaw kanina
sa command line, i-print din ang impormasyon ng bersyon para sa bawat isa Dacs source code file sa
ang program na ito
nota
Ang kumpletong impormasyon ng bersyon ay magagamit lamang para sa mga statically linked na programa.
Tingnan din dacsversion(1)[65] at dacs_version(8)[66].
Tip
Kung walang command line flag na ibinigay upang tukuyin ang seksyon ng hurisdiksyon, ang halaga ng
variable ng kapaligiran DEFAULT_JURIDICTION ay gagamitin na parang ibinigay kasama ang -uj bandila.
Maaari itong maging partikular na kapaki-pakinabang kapag ang isang host ay mayroon lamang isang hurisdiksyon na na-configure
dahil ginagawa nitong hindi kinakailangan na palaging tukuyin ang hurisdiksyon para sa Dacs utos.
Kapaligiran
Server, SERVER_PORT, REQUEST_URI
Maaaring gamitin upang matukoy ang naaangkop na hurisdiksyon.
Gumamit ng dacs online gamit ang mga serbisyo ng onworks.net