ããã¯ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒããŸã㯠MAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã® XNUMX ã€ã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããã³ãã³ã dbus-daemon ã§ãã
ããã°ã©ã ïŒ
NAME
dbus-daemon - ã¡ãã»ãŒãž ãã¹ ããŒã¢ã³
SYNOPSIS
dbus ããŒã¢ã³
dbus ããŒã¢ã³ [--ããŒãžã§ã³] [--ã»ãã·ã§ã³] [--ã·ã¹ãã ] [--config-file=FILE]
[ -- å°å·ã¢ãã¬ã¹ [=èšè¿°å]] [--print-pid [=èšè¿°å]] [ - ãã©ãŒã¯]
DESCRIPTION
dbus ããŒã¢ã³ D-Bus ã¡ãã»ãŒãž ãã¹ ããŒã¢ã³ã§ãã èŠã http://www.freedesktop.org/software/dbus/
å šäœåã«ã€ããŠè©³ããã¯ããã¡ããã芧ãã ããã D-Bus ã¯ããŸã次ã®æ©èœãæäŸããã©ã€ãã©ãªã§ãã
ä»»æã® XNUMX ã€ã®ã¢ããªã±ãŒã·ã§ã³éã® XNUMX 察 XNUMX éä¿¡ã dbus ããŒã¢ã³ ã¯ã
ã¯ããã®ã©ã€ãã©ãªã䜿çšããŠã¡ãã»ãŒãž ãã¹ ããŒã¢ã³ãå®è£ ããŸãã è€æ°ã®ããã°ã©ã ãæ¥ç¶ããŸãã
ã¡ãã»ãŒãž ãã¹ ããŒã¢ã³ãšé£æºããçžäºã«ã¡ãã»ãŒãžã亀æã§ããŸãã
æšæºã¡ãã»ãŒãž ãã¹ ã€ã³ã¹ã¿ã³ã¹ã¯ XNUMX ã€ãããŸããã·ã¹ãã å šäœã®ã¡ãã»ãŒãž ãã¹ (
å€ãã®ã·ã¹ãã ã¯ãã¡ãã»ãŒãžãã¹ãåæåãµãŒãã¹ãšããŠ) ããã³ãŠãŒã¶ãŒ ãã°ã€ã³ ã»ãã·ã§ã³ããšã®ã¡ãã»ãŒãž ãã¹
(ãŠãŒã¶ãŒããã°ã€ã³ãããã³ã«éå§ãããŸã)ã dbus ããŒã¢ã³ ãããã®äž¡æ¹ã®ã€ã³ã¹ã¿ã³ã¹ã«äœ¿çšãããŸããã
å¥ã®æ§æãã¡ã€ã«ã䜿çšããŸãã
--session ãªãã·ã§ã³ã¯ãã--config-file=ããšåçã§ãã/usr/share/dbus-1/session.conf"ãš
--system ãªãã·ã§ã³ã¯ã--config-file=ããšåçã§ãã/usr/share/dbus-1/system.conf"ã ã«
è¿œå ã®æ§æãã¡ã€ã«ãäœæãã --config-file ãªãã·ã§ã³ã䜿çšãããšãè¿œå ã®
ç¹æ®ãªç®çã®ã¡ãã»ãŒãž ãã¹ ããŒã¢ã³ãäœæã§ããŸãã
ã·ã¹ãã å šäœã®ããŒã¢ã³ã¯éåžžãinit ã¹ã¯ãªããã«ãã£ãŠèµ·åãããæšæºçã«ã¯åã«æ¬¡ã®ããã«åŒã°ããŸãã
ãã¡ãã»ãŒãžãã¹ãã
ã·ã¹ãã å šäœã®ããŒã¢ã³ã¯äž»ã«ãã·ã¹ãã ã€ãã³ãã®ãããŒããã£ã¹ãã«äœ¿çšãããŸãã
ããªã³ã¿ãŒãã¥ãŒããŸãã¯ããã€ã¹ã®è¿œå /åé€ã
ã»ãã·ã§ã³ããšã®ããŒã¢ã³ã¯ããã¹ã¯ãããéã®ããŸããŸãªããã»ã¹ééä¿¡ã«äœ¿çšãããŸãã
ã¢ããªã±ãŒã·ã§ã³ (ãã ããX ãŸã㯠GUI ã«ã¯ãŸã£ããé¢é£ä»ããããŠããŸãã)ã
SIGHUP ã«ãããD-Bus ããŒã¢ã³ã¯ãã®æ§æãã¡ã€ã«ãéšåçã«åããŒããããã©ãã·ã¥ããŸãã
ãŠãŒã¶ãŒ/ã°ã«ãŒãæ å ±ããã£ãã·ã¥ãããŸãã äžéšã®æ§æå€æŽã§ã¯ããã¹ãŠãããã¯ããå¿ èŠããããŸã
ã¢ããªã¯ãã¹ããé¢ããŸãã ãããã£ãŠãããŒã¢ã³ãåèµ·åããå Žåã«ã®ã¿æå¹ã«ãªããŸãã ããªã·ãŒã®å€æŽ
SIGHUP ã§æå¹ã«ãªãã¯ãã§ãã
OPTIONS
次ã®ãªãã·ã§ã³ããµããŒããããŠããŸãã
--config-file = FILE
æå®ãããæ§æãã¡ã€ã«ã䜿çšããŸãã
- ãã©ãŒã¯
æ§æãã¡ã€ã«ããããªã£ãŠããŠããã¡ãã»ãŒãž ãã¹ã匷å¶çã«ãã©ãŒã¯ããŠããŒã¢ã³ã«ããŸãã
ãããã¹ãã§ãããšã¯æå®ããŠããŸããã ã»ãšãã©ã®ã³ã³ããã¹ãã§ã¯ãèšå®ãã¡ã€ã«ã¯ãã§ã«ãããååŸããŠããŸã
ããã§ããã©ã ãã®ãªãã·ã§ã³ã¯ Windows ã§ã¯ãµããŒããããŠããŸããã
--nofork
æ§æãã¡ã€ã«ãå€æŽãããŠããŠããã¡ãã»ãŒãž ãã¹ããã©ãŒã¯ããŠããŒã¢ã³ã«ãªããªãããã«åŒ·å¶ããŸãã
ãããã¹ãã§ããããšãæå®ããŸãã Windows ã§ã¯ãdbus-daemon ã¯ãã©ãŒã¯ããªãããããã®ãªãã·ã§ã³ã¯
èš±å¯ãããŠããŸãããäœãããŸããã
--print-address[=DESCRIPTOR]
ã¡ãã»ãŒãž ãã¹ã®ã¢ãã¬ã¹ãæšæºåºåãŸãã¯æå®ããããã¡ã€ã«ã«åºåããŸãã
ãã£ã¹ã¯ãªãã¿ã ããã¯ãã¡ãã»ãŒãž ãã¹ãèµ·åããããã°ã©ã ã«ãã£ãŠäœ¿çšãããŸãã
--print-pid[=説æ]
ã¡ãã»ãŒãž ãã¹ã®ããã»ã¹ ID ãæšæºåºåãŸãã¯æå®ããããã¡ã€ã«ã«åºåããŸãã
ãã£ã¹ã¯ãªãã¿ã ããã¯ãã¡ãã»ãŒãž ãã¹ãèµ·åããããã°ã©ã ã«ãã£ãŠäœ¿çšãããŸãã
- ã»ãã·ã§ã³
ãã°ã€ã³ã»ãã·ã§ã³ããšã®ã¡ãã»ãŒãžãã¹ã®æšæºæ§æãã¡ã€ã«ã䜿çšããŸãã
- ã·ã¹ãã
ã·ã¹ãã å šäœã®ã¡ãã»ãŒãž ãã¹ã«ã¯æšæºæ§æãã¡ã€ã«ã䜿çšããŸãã
- ããŒãžã§ã³
ããŒã¢ã³ã®ããŒãžã§ã³ãåºåããŸãã
--å çãã
ãã¹ãŠã® D-Bus å éšã€ã³ã¿ãŒãã§ã€ã¹ã®ã€ã³ããã¹ãã¯ã·ã§ã³æ å ±ãåºåããŸãã
--ã¢ãã¬ã¹[=ã¢ãã¬ã¹]
ãªãã¹ã³ããã¢ãã¬ã¹ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ã
èšå®ãã¡ã€ã«
--systemd-ã¢ã¯ãã£ããŒã·ã§ã³
systemd ã¹ã¿ã€ã«ã®ãµãŒãã¹ã®ã¢ã¯ãã£ãåãæå¹ã«ããŸãã systemd ãšçµã¿åãããå Žåã«ã®ã¿åœ¹ç«ã¡ãŸã
Linux äžã®ã·ã¹ãã ããã³ã»ãã·ã§ã³ ãããŒãžã£ãŒã
--nopidfile
æ§æãã¡ã€ã«ã§ PID ãã¡ã€ã«ãæ§æãããŠããå Žåã§ããPID ãã¡ã€ã«ãæžã蟌ãŸãªãã§ãã ããã
CONFIGURATION FILE
ã¡ãã»ãŒãž ãã¹ ããŒã¢ã³ã«ã¯ãç¹å®ã®ç®çã«ç¹åããæ§æãã¡ã€ã«ããããŸãã
å¿çšã ããšãã°ãããæ§æãã¡ã€ã«ã¯ãã¡ãã»ãŒãž ãã¹ã
ã·ã¹ãã å šäœã®ã¡ãã»ãŒãž ãã¹ã§ããå Žåãããã°ããŠãŒã¶ãŒã®ãã°ã€ã³ ã»ãã·ã§ã³ããšã®ãã¹ã«ãªãããã«èšå®ãããŠããå ŽåããããŸãã
æ§æãã¡ã€ã«ã¯ããªãœãŒã¹å¶éãã»ãã¥ãªã㣠ãã©ã¡ãŒã¿ãªã©ã確ç«ããŸãã
åæ¹ãžã
æ§æãã¡ã€ã«ã¯çžäºéçšæ§ä»æ§ã®äžéšã§ã¯ãªãããã®åŸæ¹ä»æ§ã«ãå«ãŸããŠããŸããã
äºææ§ã¯ä¿èšŒãããŸããã ãã®ããã¥ã¡ã³ãã¯ããã¥ã¡ã³ãã§ãããä»æ§ã§ã¯ãããŸããã
æšæºã®ã·ã¹ãã å šäœããã³ã»ãã·ã§ã³ããšã®ã¡ãã»ãŒãž ãã¹ã®ã»ããã¢ããã¯ã次ã®ãã¡ã€ã«ã§æ§æãããŸãã
"/usr/share/dbus-1/system.conf"ãš"/usr/share/dbus-1/session.conf". ãããã®ãã¡ã€ã«ã¯éåžžã
system-local.conf ãŸã㯠session-local.conf /etc/dbus-1; ããŒã«ã«ã«çœ®ãããšãã§ããŸã
ãã©ã€ããªæ§æãã¡ã€ã«ã®å€æŽãé¿ããããã«ããããã®ãã¡ã€ã«ããªãŒããŒã©ã€ãããŸãã
èšå®ãã¡ã€ã«ã¯ XML ããã¥ã¡ã³ãã§ãã 次㮠doctype 宣èšãå¿ èŠã§ãã
<!DOCTYPEbusconfig PUBLIC "-//freedesktop//DTD D-Bus ãã¹æ§æ 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
æ§æãã¡ã€ã«ã«ã¯æ¬¡ã®èŠçŽ ãååšããå ŽåããããŸãã
·
ã«ãŒãèŠçŽ ã
·
ã¡ãã»ãŒãž ãã¹ã®æ¢ç¥ã®ã¿ã€ãã çŸåšç¥ãããŠããå€ã¯ãsystemããšãsessionãã§ãã
ä»ã®å€ãèšå®ãããŠããå Žåã¯ãD-Bus ä»æ§ã«è¿œå ãããã
åå空éã æåŸèŠçŽ ãwinsãïŒä»¥åã®å€ã¯ç¡èŠãããŸãïŒã ãã®èŠçŽ
ã©ã®ã¡ãã»ãŒãž ãã¹åºæã®ç°å¢å€æ°ãã¢ã¯ãã£ãåãããç¶æ ã§èšå®ãããããå¶åŸ¡ããã ãã§ã
ã¯ã©ã€ã¢ã³ãã ã»ãã·ã§ã³ ãã¹ãšã·ã¹ãã ãã¹ãåºå¥ããããªã·ãŒã®ã»ãšãã©ã¯æ¬¡ã®ãšããã§ãã
æ§æãã¡ã€ã«å ã®ä»ã®èŠçŽ ããå¶åŸ¡ãããŸãã
ã¡ãã»ãŒãž ãã¹ã®æ¢ç¥ã®ã¿ã€ãããã»ãã·ã§ã³ãã®å ŽåãDBUS_STARTER_BUS_TYPE
ç°å¢å€æ°ã¯ãsessionãããã³ DBUS_SESSION_BUS_ADDRESS ç°å¢ã«èšå®ãããŸãã
å€æ°ã¯ã»ãã·ã§ã³ ãã¹ã®ã¢ãã¬ã¹ã«èšå®ãããŸãã åæ§ã«ã
ã¡ãã»ãŒãž ãã¹ããsystemãã®å ŽåãDBUS_STARTER_BUS_TYPE ç°å¢å€æ°ãèšå®ãããŸã
"system" ã«èšå®ãããšãDBUS_SESSION_BUS_ADDRESS ç°å¢å€æ°ã
ã·ã¹ãã ãã¹ã®ã¢ãã¬ã¹ (ãããã«ããŠãéåžžã¯ããç¥ãããŠããŸã)ã
äŸïŒ ã»ãã·ã§ã³
·
ãã¡ã€ã«ãå«ãããã¡ã€ã«å.conf ãã®æç¹ã§ã ãã¡ã€ã«åã
çžå¯Ÿçãªå Žåã¯ãã€ã³ã¯ã«ãŒããå®è¡ããæ§æãã¡ã€ã«ã«å¯ŸããŠçžå¯Ÿçã«é 眮ãããŸãã
ãªãã·ã§ã³ã®å±æ§ãignore_missing=(yes|no)ããããã次ã®å Žåã«ããã©ã«ãã§ãnoãã«ãªããŸãã
æäŸãããŠããªãã ãã®å±æ§ã¯ãã€ã³ã¯ã«ãŒãããããã¡ã€ã«ã«ãšã£ãŠèŽåœçãªãšã©ãŒã§ãããã©ãããå¶åŸ¡ããŸãã
äžåšã§ãããŸãã
·
ãã¹ãŠã®ãã¡ã€ã«ãå«ããé£ã¹ç©ãã®æç¹ã§ã ãã£ã¬ã¯ããªå ã®ãã¡ã€ã«
ã¯äžå®ã®é åºã§å«ãŸããŸãã ã.confãã§çµãããã¡ã€ã«ã®ã¿ãå«ãŸããŸãã
ããã¯ãç¹å®ã®ããã±ãŒãžã«ããã·ã¹ãã ãã¹ã®æ¡åŒµãå¯èœã«ããããšãç®çãšããŠããŸãã äŸãã°ã
CUPS ãããªã³ã¿ãŒ ãã¥ãŒã®å€æŽã®éç¥ãéä¿¡ã§ããããã«ãããå Žåã¯ã
ãã¡ã€ã«ã /usr/share/dbus-1/system.d ã«ã€ã³ã¹ããŒã«ãããã /etc/dbus-1/system.d ãã¹ãŠã®ã¢ããªãèš±å¯ããŸãã
ãã®ã¡ãã»ãŒãžãåä¿¡ããããªã³ã¿ãŒ ããŒã¢ã³ ãŠãŒã¶ãŒãã¡ãã»ãŒãžãéä¿¡ã§ããããã«ããŸããã
·
ããŒã¢ã³ãå®è¡ãããŠãŒã¶ãŒ ã¢ã«ãŠã³ã (ãŠãŒã¶ãŒåãŸã㯠UID ãšããŠ)ã ããŒã¢ã³ã®å Žå
èµ·åæã«ãã® UID ã«å€æŽããããšã¯ã§ããªããããçµäºããŸãã ãã®èŠçŽ ãååšããªãå Žåã
ããŒã¢ã³ã¯ãã® UID ãå€æŽãããæ°ã«ãããããŸããã
æåŸãã¡ã€ã«å ã®ãšã³ããªããwinãã§ãããä»ã®ãšã³ããªã¯ç¡èŠãããŸãã
ãŠãŒã¶ãŒã¯ããã¹ã®åæåãå®äºããåŸã«å€æŽãããŸãã ãããã£ãŠããœã±ãããªã©ã¯
ãŠãŒã¶ãŒãå€æŽããåã«äœæãããŸããããŠãŒã¶ãŒãå€æŽããåã¯ã¯ã©ã€ã¢ã³ãããããŒã¿ãèªã¿åãããŸããã
ããã¯ãroot ãå¿ èŠãªå Žæã«ãœã±ãããš PID ãã¡ã€ã«ãäœæã§ããããšãæå³ããŸãã
æžã蟌ã¿æš©éã
·
ååšããå Žåããã¹ ããŒã¢ã³ã¯å®éã®ããŒã¢ã³ã«ãªããŸã (ããã¯ã°ã©ãŠã³ããžã®ãã©ãŒã¯ãªã©)ã ãã
éåžžã --fork ã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ã§ã¯ãªãã ã䜿çšãããŸãã
·
ååšããå Žåããã¹ ããŒã¢ã³ã¯ãã©ãŒã¯æã«å ã® umask ãä¿æããŸãã ããã¯æ¬¡ã®ãããªå Žåã«åœ¹ç«ã€ãããããŸãã
åããã»ã¹ã®åäœã«åœ±é¿ãäžããªãããã«ããŸãã
·
ååšããå Žåããã¹ ããŒã¢ã³ã¯ syslog ã«ãã°ãèšé²ããŸãã
·
ååšããå Žåããã¹ ããŒã¢ã³ã¯ãã® pid ãæå®ããããã¡ã€ã«ã«æžã蟌ã¿ãŸãã --nopidfile
ã³ãã³ãã©ã€ã³ ãªãã·ã§ã³ã¯ãã®èšå®ããåªå ãããŸãã
·
ååšããå ŽåãANONYMOUS ã¡ã«ããºã ã䜿çšããŠèªèšŒãããæ¥ç¶ã¯ã
æ¥ç¶ãèš±å¯ãããŠããŸãã ãã®ãªãã·ã§ã³ã¯ãANONYMOUS ã¡ã«ããºã ã䜿çšãããªãéããå®éçãªå¹æã¯ãããŸããã
ã䜿çšããŠãæå¹ã«ãªã£ãŠããŸã 以äžã§èª¬æããèŠçŽ ã
·
ãã¹ããªãã¹ã³ããã¢ãã¬ã¹ãè¿œå ããŸãã ã¢ãã¬ã¹ã¯æšæºã® D-Bus 圢åŒã§ã
ããã«ã¯ããã©ã³ã¹ããŒãåãšäœ¿çšå¯èœãªãã©ã¡ãŒã¿/ãªãã·ã§ã³ãå«ãŸããŸãã
äŸïŒ unix:path=/tmp/foo
äŸïŒ tcp:ãã¹ã=ããŒã«ã«ãã¹ããããŒã=1234
è€æ°ããå ŽåèŠçŽ ãå«ãå Žåããã¹ã¯è€æ°ã®ã¢ãã¬ã¹ããªãã¹ã³ããŸãã ã®
ãã¹ã¯ãéå§ããããµãŒãã¹ãŸãã¯ãã®ä»ã®é¢ä¿è ã«ãã®ã¢ãã¬ã¹ãæåŸã«äŒããŸãã
ã§äžããããäœæåãã ã€ãŸããã¢ããªã¯æåŸã®æ¥ç¶ã«æ¥ç¶ããããšããŸãã
ãŸãã¯ã¢ãã¬ã¹ã
tcp ãœã±ããã¯ãIPv4 ã¢ãã¬ã¹ãIPv6 ã¢ãã¬ã¹ããŸãã¯ãã¹ãåãåãå ¥ããããšãã§ããŸãã ãã¹ãåã解決ãããå Žå
è€æ°ã®ã¢ãã¬ã¹ã«ãã€ã³ããããšããµãŒããŒã¯ããããã¹ãŠã«ãã€ã³ãããŸãã family=ipv4 ãŸã㯠family=ipv6
ãªãã·ã§ã³ã䜿çšããŠãã¢ãã¬ã¹ã®ãµãã»ããã«åŒ·å¶çã«ãã€ã³ãã§ããŸã
äŸïŒ tcp:ãã¹ã=ããŒã«ã«ãã¹ããããŒã=0ããã¡ããªãŒ=ipv4
ç¹æ®ãªã±ãŒã¹ã¯ãããŒãçªå· XNUMX ã䜿çšãã (ãŸãã¯ããŒããçç¥ãã) ããšã§ããããã¯ã次ã®ããšãæå³ããŸãã
ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãã£ãŠéžæããã䜿çšå¯èœãªããŒããéžæããŸãã éžæã§ããããŒãçªå·ã¯æ¬¡ã®ãšããã§ãã
--print-address ã³ãã³ã ã©ã€ã³ ãã©ã¡ãŒã¿ã§ååŸãããä»ã®ãã¡ã€ã«ã«ååšããŸãã
DBUS_SESSION_BUS_ADDRESS ãæå®ãããŠããå Žåãªã©ããµãŒããŒãç¬èªã®ã¢ãã¬ã¹ãå ±åããå Žå
èšå®ããŸãã
äŸïŒ tcp:ãã¹ã=ããŒã«ã«ãã¹ããããŒã=0
tcp/nonce-tcp ã¢ãã¬ã¹ã§ã¯ããªãã¹ã³å¯èœãªã¢ãã¬ã¹ã§äœ¿çšããããbind=hostname ãªãã·ã§ã³ãèš±å¯ãããŸãã
ãµãŒããŒããªãã¹ã³ããã€ã³ã¿ãŒãã§ã€ã¹ãèšå®ããŸãããã¹ãå㯠IP ã§ãã
ããŒã«ã« ãã·ã³ã®ã€ã³ã¿ãŒãã§ã€ã¹ã® 127.0.0.1 ã€ã®ã¢ãã¬ã¹ (æãäžè¬çã«ã¯ XNUMX)ãDNS å
ãããã® IP ã¢ãã¬ã¹ã® 0.0.0.0 ã€ã4ãã«è§£æ±ºããããã¹ãŠã® IPvXNUMX ã€ã³ã¿ãŒãã§ã€ã¹ã§ãªãã¹ã³ããŸãã
åæã«ããŸãã¯ã::ãã䜿çšããŠãã¹ãŠã® IPv4 ããã³ IPv6 ã€ã³ã¿ãŒãã§ã€ã¹ãåæã«ãªãã¹ã³ããŸã (
OSã§ãµããŒããããŠããŸãïŒã æå®ããªãå Žåãããã©ã«ãã¯ãhostããšåãå€ã«ãªããŸãã
äŸïŒ tcp:ãã¹ã=ããŒã«ã«ãã¹ãããã€ã³ã=0.0.0.0ãããŒã=0
·
èš±å¯ãããèªå¯ã¡ã«ããºã ããªã¹ãããŸãã ãã®èŠçŽ ãååšããªãå Žåã¯ããã¹ãŠãæ¢ç¥ã§ã
ã¡ã«ããºã ã¯èš±å¯ãããŠããŸãã è€æ°ããå ŽåèŠçŽ ããªã¹ãããããã¹ãŠã®ã¡ã«ããºã
èš±å¯ãããŠããŸãã ã¡ã«ããºã ããªã¹ããããŠããé åºã¯æå³ããããŸããã
äŸïŒ å€éšã®
äŸïŒ DBUS_COOKIE_SHA1
·
.service ãã¡ã€ã«ãã¹ãã£ã³ãããã£ã¬ã¯ããªãè¿œå ããŸãã ãã£ã¬ã¯ããªã¯æ¬¡ããã¹ãã£ã³ãããŸãã
æ§æãã¡ã€ã«ã«æåã«è¡šç€ºããã (æåã«èŠã€ãã£ã .service ãã¡ã€ã«
ç¹å®ã®ãµãŒãã¹ã䜿çšãããŸãïŒã
ãµãŒãã¹ ãã¡ã€ã«ã¯ãããã°ã©ã ãèªåçã«éå§ããæ¹æ³ããã¹ã«æ瀺ããŸãã äž»ã«äœ¿çšãããã®ã¯ã
ã·ã¹ãã å šäœã®ãã¹ã§ã¯ãªãããŠãŒã¶ãŒã»ãã·ã§ã³ããšã®ãã¹ã䜿çšããŸãã
·
äžé£ã®ãæå®ããã®ãšåãã§ã
ãXDG ããŒã¹ ãã£ã¬ã¯ããªä»æ§ãã®åããŒã¿ ãã£ã¬ã¯ããªã®èŠçŽ
ãµããã£ã¬ã¯ããªãdbus-1/servicesããããšãã°ã/usr/share/dbus-1/services" ã ãã
æ€çŽ¢ããããã£ã¬ã¯ããªã®äžããã
ãXDG ããŒã¹ ãã£ã¬ã¯ããªä»æ§ãã¯ã次ã®å Žæã«ãããŸãã
http://freedesktop.org/wiki/Standards/basedir-spec åããªãå Žåã¯ããã以å€ã®å Žåã¯è©ŠããŠãã ãã
ãæ°ã«å ¥ãã®æ€çŽ¢ãšã³ãžã³ã
ã®ãã®ãªãã·ã§ã³ã¯ãŠãŒã¶ãŒã»ãã·ã§ã³ããšã®ãã¹ã«ã®ã¿é¢é£ããŸã
/etc/dbus-1/session.conf ã§å®çŸ©ãããããŒã¢ã³ã ä»ã®èšå®ãã¡ã€ã«ã«çœ®ã
ãããããã³ã»ã³ã¹ã ããã
·
æšæºã®ã·ã¹ãã å šäœã®ã¢ã¯ãã£ããŒã·ã§ã³ ãã£ã¬ã¯ããªãæå®ããŸã
ãµãŒãã¹ ãã¡ã€ã«ãæ€çŽ¢ããå¿ èŠããããŸãã ãã®ãªãã·ã§ã³ã®ããã©ã«ãã¯ã
/usr/share/dbus-1/system-servicesã
ã®ãã®ãªãã·ã§ã³ã¯ã·ã¹ãã ããšã®ãã¹ ããŒã¢ã³ã«ã®ã¿é¢é£ããŸã
/usr/share/dbus-1/system.conf ã§å®çŸ©ãããŠããŸãã ä»ã®èšå®ãã¡ã€ã«ã«çœ®ããšã
ãããããã³ã»ã³ã¹ã§ãããã
·
ã·ã¹ãã ããŒã¢ã³ãèµ·åããããã«äœ¿çšããã setuid ãã«ããŒãæå®ããŸãã
代æ¿ãŠãŒã¶ãŒã éåžžããã㯠dbus-daemon-launch-helper å®è¡å¯èœãã¡ã€ã«ã§ããå¿ èŠããããŸãã
libexec ã«ãããŸãã
ã®ãã®ãªãã·ã§ã³ã¯ãã§å®çŸ©ãããã·ã¹ãã ããšã®ãã¹ ããŒã¢ã³ã«ã®ã¿é¢é£ããŸãã
/usr/share/dbus-1/system.confã ä»ã®èšå®ãã¡ã€ã«ã«çœ®ããšããããã
ãã³ã»ã³ã¹ã§ãããã
·
ãªãœãŒã¹å¶éã確ç«ããŸãã äŸãã°ïŒ
64
512
name å±æ§ã¯å¿ é ã§ãã 䜿çšå¯èœãªå¶éåã¯æ¬¡ã®ãšããã§ãã
"max_incoming_bytes" : ã¡ãã»ãŒãžã®åèšãµã€ãº (ãã€ãåäœ)
åäžã®æ¥ç¶ããã®åä¿¡
"max_incoming_unix_fds" : ã¡ãã»ãŒãžã® unix fd ã®ç·æ°
åäžã®æ¥ç¶ããã®åä¿¡
"max_outcoming_bytes" : ã¡ãã»ãŒãžã®åèšãµã€ãº (ãã€ãåäœ)
åäžã®æ¥ç¶ã®ããã«ãã¥ãŒã«å ¥ããããŸãã
"max_outcoming_unix_fds" : ã¡ãã»ãŒãžã® UNIX FDS ã®ç·æ°
åäžã®æ¥ç¶ã®ããã«ãã¥ãŒã«å ¥ããããŸãã
"max_message_size" : åäžã¡ãã»ãŒãžã®æ倧ãµã€ãº
ãã€ã
"max_message_unix_fds" : åäžã¡ãã»ãŒãžã®æ倧 unix fds
"service_start_timeout" : ãŸã§ã®ããªç§ (XNUMX åã® XNUMX)
éå§ããããµãŒãã¹ã¯æ¥ç¶ããå¿ èŠããããŸã
"auth_timeout" : ããªç§ (XNUMX åã® XNUMX)
æ¥ç¶ãäžããããŸã
èªèšŒ
"pending_fd_timeout" : ããªç§ (XNUMX åã® XNUMX)
fd ã¯éä¿¡ãããããã«äžããããŸãã
åæããåã« dbus-daemon
æ¥ç¶
"max_completed_connections" : èªèšŒãããæ¥ç¶ã®æ倧æ°
"max_incomplete_connections" : æªèªèšŒã®æ倧æ¥ç¶æ°
ã®æ§ç¯
"max_connections_per_user" : ããã®å®äºããæ¥ç¶ã®æ倧æ°
åããŠãŒã¶ãŒ
"max_pending_service_starts" : éå§ããããµãŒãã¹ã®æ倧æ°
åæã«é²æ©ãã
"max_names_per_connection" : åäžã®ååã®æ倧æ°
æ¥ç¶ãææã§ãã
"max_match_rules_per_connection": åäžã®äžèŽã«ãŒã«ã®æ倧æ°
æ¥ç¶
"max_replies_per_connection" : ä¿çäžã®ã¡ãœããã®æ倧æ°
æ¥ç¶ããšã®å¿çæ°
(é²è¡äžã®é話ã®æ°)
"reply_timeout" : ããªç§ (XNUMX åã® XNUMX)
ã¡ãœããåŒã³åºããã¿ã€ã ã¢ãŠãã«ãªããŸã§
åä¿¡/éä¿¡ãã¥ãŒã®æ倧ãµã€ãºã«ãããXNUMX ãã€ããæ®ã£ãŠããå Žåã«æ°ããã¡ãã»ãŒãžããã¥ãŒã«å ¥ããããšãã§ããŸãã
æ倧å€ãäžåããŸãã ãããã£ãŠãå®éã«ã¯ max_message_size ã ãæ倧å€ãè¶ ããããšãã§ããŸãã
max_completed_connections ã max_connections_per_user ã§å²ã£ãå€ã¯ã
äžã®ãã¹ãŠã®æ¥ç¶ã䜿ãæããããšã§ãä»ã®ãã¹ãŠã®ãŠãŒã¶ãŒãé£æºããŠãµãŒãã¹åŠšå®³ãè¡ãããšãã§ããŸãã
ã·ã¹ãã å šäœã®ãã¹ã
éåžžãå¶éã¯ã·ã¹ãã å šäœã®ãã¹ã«ã®ã¿é¢ä¿ãããŠãŒã¶ãŒ ã»ãã·ã§ã³ ãã¹ã«ã¯é¢ä¿ãããŸããã
·
ã®èŠçŽ ã¯ãç¹å®ã®ã»ããã«é©çšãããã»ãã¥ãªã㣠ããªã·ãŒãå®çŸ©ããŸãã
ãã¹ãžã®æ¥ç¶ã ããªã·ãŒã¯æ¬¡ã®ãã®ã§æ§æãããŸããšèŠçŽ ã ããªã·ãŒã¯
éåžžã¯ã·ã¹ãã å šäœã®ãã¹ã§äœ¿çšãããŸãã èš±å¯ãããšããç¹ã§ãã¡ã€ã¢ãŠã©ãŒã«ã«äŒŒãŠããŸãã
äºæ³ããããã©ãã£ãã¯ãé²æ¢ããäºæããªããã©ãã£ãã¯ãé²ããŸãã
çŸåšãã·ã¹ãã ãã¹ã«ã¯ãã¡ãœããåŒã³åºãã®éä¿¡ãšææã®ããã®ããã©ã«ãæåŠããªã·ãŒããããŸãã
ãã¹ã®ååã ä»ã®ãã¹ãŠãç¹ã«å¿çã¡ãã»ãŒãžãåä¿¡ãã§ãã¯ãããã³ã·ã°ãã«ã«ã¯ã
ããã©ã«ãã®èš±å¯ããªã·ãŒã
äžè¬ã«ãã·ã¹ãã ãµãŒãã¹ã¯ã
ç¬èªã®ããã»ã¹ã䜿çšããåäžã®ãã¹åãæäŸããŸãã 次ã«ãå¿ èŠãªã®ã¯
ããã»ã¹ã«ãã¹åãèŠæ±ãããããã®ãç¬èªã®ãããŒããã·ã§ã³ã®ã«ãŒã«ãããã³
ãsend_destinationãã«ãŒã«ã¯ãäžéšãŸãã¯ãã¹ãŠã® UID ãããµãŒãã¹ãžã®ãã©ãã£ãã¯ãèš±å¯ããŸãã
ã®èŠçŽ ã«ã¯ã次㮠XNUMX ã€ã®å±æ§ã®ãããããå«ãŸããŸãã
context="(ããã©ã«ã|å¿ é )"
at_console="(true|false)"
user="ãŠãŒã¶ãŒåãŸãã¯ãŠãŒã¶ãŒID"
group="ã°ã«ãŒãåãŸãã¯GID"
ããªã·ãŒã¯æ¬¡ã®ããã«æ¥ç¶ã«é©çšãããŸãã
- ãã¹ãŠã® context="default" ããªã·ãŒãé©çšãããŸã
- ãã¹ãŠã® group="æ¥ç¶ã®ãŠãŒã¶ãŒã®ã°ã«ãŒã" ããªã·ãŒãé©çšãããŸã
æªå®çŸ©ã®é åºã§
- ãã¹ãŠã® user="æ¥ç¶ã®èªèšŒãŠãŒã¶ãŒ" ããªã·ãŒãé©çšãããŸã
æªå®çŸ©ã®é åºã§
- ãã¹ãŠã® at_console="true" ããªã·ãŒãé©çšãããŸã
- ãã¹ãŠã® at_console="false" ããªã·ãŒãé©çšãããŸã
- ãã¹ãŠã® context="mandatory" ããªã·ãŒãé©çšãããŸã
ããªã·ãŒãéè€ããå ŽåãåŸã§é©çšãããããªã·ãŒã¯ä»¥åã«é©çšãããããªã·ãŒããªãŒããŒã©ã€ãããŸãã
åããŠãŒã¶ãŒ/ã°ã«ãŒã/ã³ã³ããã¹ããæã€è€æ°ã®ããªã·ãŒã¯ã次ã®é åºã§é©çšãããŸãã
æ§æãã¡ã€ã«ã
ãèŠçŽ ã¯ä»¥äžã«è¡šç€ºãããŸãèŠçŽ ã§ãããäžéšã®ã¢ã¯ã·ã§ã³ãçŠæ¢ããŸãã ã®
èŠçŽ ã«ãã以åã®äŸå€ãçºçããŸãã¹ããŒãã¡ã³ããšåæ§ã«æ©èœããŸãããã
éã®æå³ã§ã
ãããã®èŠçŽ ã®å¯èœãªå±æ§ã¯æ¬¡ã®ãšããã§ãã
send_interface="ã€ã³ã¿ãŒãã§ãŒã¹å"
send_member="ã¡ãœãããŸãã¯ã·ã°ãã«å"
send_error="ãšã©ãŒå"
éä¿¡å = "åå"
send_type="ã¡ãœããã³ãŒã«" | "ã¡ãœãã_ãªã¿ãŒã³" | ãä¿¡å·ã | "ãšã©ãŒ"
send_path="/ãã¹/åå"
accept_interface="ã€ã³ã¿ãŒãã§ãŒã¹å"
accept_member="ã¡ãœãããŸãã¯ã·ã°ãã«å"
accept_error="ãšã©ãŒå"
åä¿¡éä¿¡è = "åå"
åä¿¡ã¿ã€ã = "ã¡ãœããåŒã³åºã" | "ã¡ãœãã_ãªã¿ãŒã³" | ãä¿¡å·ã | "ãšã©ãŒ"
accept_path="/ãã¹/åå"
send_requested_reply="true" | "ééã"
accept_requested_reply="true" | "ééã"
çèŽ = "true" | "ééã"
èªåã® = "åå"
own_prefix="åå"
ãŠãŒã¶ãŒ = "ãŠãŒã¶ãŒå"
ã°ã«ãŒã = "ã°ã«ãŒãå"
äŸïŒ
ã®èŠçŽ ã®å±æ§ã«ãã£ãŠãæåŠãç¹å®ã®ã¢ã¯ã·ã§ã³ã«ãäžèŽããããã©ããã決ãŸããŸãã
äžèŽããå Žåãã¢ã¯ã·ã§ã³ã¯æåŠãããŸã (æ§æãã¡ã€ã«å ã®åŸã®ã«ãŒã«ã§èš±å¯ãããŠããªãéã)ã
send_destination ã«ãŒã«ãš accept_sender ã«ãŒã«ã¯ãã¡ãã»ãŒãžã次ã®å®å ã«éä¿¡ãããªãããšãæå³ããŸãã
æå®ãããååã®*ææè *ããåãåã£ããã®ã§ããã*ãã®åå*ã«éä¿¡ã§ããªãããã§ã¯ãããŸããã
ã€ãŸããæ¥ç¶ããµãŒãã¹ AãBãC ãææããŠãããA ãžã®éä¿¡ãæåŠãããå ŽåãB ãžã®éä¿¡ã¯è¡ãããŸããã
ãŸã㯠C ãæ©èœããŸããã
ä»ã® send_* å±æ§ãš accept_* å±æ§ã¯ãçŽç²ã«ããã¹ã/å€ã«ããäžèŽã§ãã
ã¡ãã»ãŒãžããããŒã®æå®ããããã£ãŒã«ãã
ãçèŽãã¯ãã¢ããªã±ãŒã·ã§ã³ãæ瀺çã«éä¿¡ãããã¡ãã»ãŒãžãåä¿¡ãããšãã«çºçããŸãã
ã¢ããªã±ãŒã·ã§ã³ãææããŠããªãååã«å®ãŠãããã¡ãã»ãŒãžããŸãã¯ãã®ãããªã¡ãã»ãŒãžã«å¯Ÿããå¿çã§ãã
ãããã£ãŠãçèŽã¯ãµãŒãã¹ã«å®ãŠãããã¡ãã»ãŒãžãšè¿ä¿¡ãããã¡ãã»ãŒãžã«ã®ã¿é©çšãããŸãã
ãã®ãããªã¡ãã»ãŒãž (ã€ãŸããã·ã°ãã«ã«ã¯é©çšãããŸãã)ã
ããã«, eavesdrop="true" ã¯ãçèŽããŠããå Žåã§ãã«ãŒã«ãäžèŽããããšã瀺ããŸãã
eavesdrop="false" ãããã©ã«ãã§ãããã«ãŒã«ãã¡ãã»ãŒãžã®éä¿¡ã®ã¿ãèš±å¯ããããšãæå³ããŸãã
æå®ãããåä¿¡è ã ããã«ãeavesdrop="true" ã¯ã«ãŒã«ãäžèŽããããšã瀺ããŸãã
çèŽæã®ã¿ã eavesdrop="false" ãããã©ã«ãã§ãã ãã¡ããã§ããã
ããã¯ãçèŽããŠããªãå Žåã§ããã«ãŒã«ãåžžã«é©çšãããããšãæå³ããŸãã çèŽå±æ§
éä¿¡ã«ãŒã«ãšåä¿¡ã«ãŒã« (send_* ããã³ accept_* å±æ§ãå«ã) ãšã®ã¿çµã¿åãããããšãã§ããŸãã
[send|receive]_requested_reply å±æ§ã¯ãeavesdrop å±æ§ãšåæ§ã«æ©èœããŸãã
ããã¯ã ãŸãæåŸ ãããå¿çãšäžèŽããŸã (ã«å¯Ÿå¿ããŸã)
以åã®ã¡ãœããåŒã³åºãã¡ãã»ãŒãž)ã ãã®å±æ§ã¯å¿çã¡ãã»ãŒãžã«å¯ŸããŠã®ã¿æå³ãæã¡ãŸãã
(ãšã©ãŒãšã¡ãœããã®æ»ã)ãä»ã®ã¡ãã»ãŒãž ã¿ã€ãã§ã¯ç¡èŠãããŸãã
ããã«[send|receive]_requested_reply="true" ãããã©ã«ãã§ãããããã®ã¿ã瀺ããŸãã
èŠæ±ãããå¿çã¯ã«ãŒã«ã«ãã£ãŠèš±å¯ãããŸãã [send|receive]_requested_reply="false" ã®æå³
ãã®ã«ãŒã«ã§ã¯ãããšãäºæãã¬ãã®ã§ãã£ãŠããããããå¿çãèš±å¯ãããŠãããšããããšã§ãã
ããã«, [send|receive]_requested_reply="false" ãããã©ã«ãã§ããã
ã«ãŒã«ã¯ãå¿çãèŠæ±ãããŠããªãå Žåã«ã®ã¿äžèŽããŸãã [éä¿¡|åä¿¡]_requested_reply="true"
ä¿çäžã®å¿çç¶æ ã«é¢ä¿ãªããã«ãŒã«ãåžžã«é©çšãããããšã瀺ããŸãã
ãŠãŒã¶ãŒããã³ã°ã«ãŒãã®æåŠã¯ãæå®ããããŠãŒã¶ãŒãŸãã¯ã°ã«ãŒããã¡ãã»ãŒãžã«æ¥ç¶ã§ããªãããšãæå³ããŸã
ãã¹ã
ãååããããŠãŒã¶ãŒåãããã°ã«ãŒãåããªã©ã¯ãæåã*ãã§çœ®ãæããããšãã§ããŸãã
"ã©ãã§ãã" ãfoo.bar.*ãã®ãããªè€éãªã°ããã¯ãäœæ¥ãå°é£ã«ãªããããçŸæç¹ã§ã¯èš±å¯ãããŠããŸããã
ãšã«ããããããªã»ãã¥ãªãã£ãå®è£ ããããããããã奚å±ããŸãã
ãabããšããååããŸãã¯æåã«ãã®ååãå«ãŸããä»»æã®ååãææã§ããããã«ãªããŸãã
ãããã§åºåãããèŠçŽ ã¯ãabãã§ããç¹ã«ããabcããŸãã¯ãabcdãã¯ææã§ããŸãããææããããšã¯ã§ããŸããã
ãa.bcããŸãã¯ãacãã ããã¯ãTelepathy ã ReserveDevice ãªã©ã®ãµãŒãã¹ã
ãªã©ã®ããç¥ãããååã®ãµãããªãŒã®æå³
org.freedesktop.Telepathy.ConnectionManager.(äœã§ã) ããã³
org.freedesktop.ReserveDevice1.(äœã§ã)ã
å éšã®ãŠãŒã¶ãŒãŸãã¯ã°ã«ãŒããæåŠããããšã¯æå³ããããŸããã ãŠãŒã¶ãŒãŸãã¯ã°ã«ãŒãã®å Žåã
ãŠãŒã¶ãŒ/ã°ã«ãŒãã®æåŠã¯ãcontext="default" ãŸã㯠context="mandatory" ããªã·ãŒå ã§ã®ã¿è¡ãããšãã§ããŸãã
ç¬èº«è ã«ãŒã«ã§ã¯ãsend_destination ã
send_interface ãš send_typeã ãã®å ŽåãæåŠã¯äž¡æ¹ã®å±æ§ãæºããããŠããå Žåã«ã®ã¿é©çšãããŸãã
æåŠãããã¡ãã»ãŒãžãšäžèŽããŸãã äŸãã°
send_destination="foo.blah"/> ã¯ãæå®ãããã€ã³ã¿ãŒãã§ã€ã¹ãšæå®ãããã€ã³ã¿ãŒãã§ã€ã¹ãæã€ã¡ãã»ãŒãžãæåŠããŸãã
ãã¹ã®ååã ORå¹æãåŸãã«ã¯ãè€æ°ãæå®ããŸãã«ãŒã«ã
åãã«ãŒã«ã« send_ å±æ§ãš accept_ å±æ§ã®äž¡æ¹ãå«ããããšã¯ã§ããŸããã
ãã¡ãã»ãŒãžãéä¿¡ã§ãããããšãåä¿¡ã§ããããã¯å¥ã ã«è©äŸ¡ãããŸãã
send_interface/receive_interface ã«ã¯æ³šæããŠãã ãããã¡ãã»ãŒãžå ã®ã€ã³ã¿ãŒãã§ã€ã¹ ãã£ãŒã«ãã¯
ã¯ãªãã·ã§ã³ã§ãã ç¹ã«æå®ããªãã§ãã ããïŒ ãã®æå¿
ãã¹ãŠã®ãµãŒãã¹ã«å¯ŸããŠã€ã³ã¿ãŒãã§ã€ã¹ãªãã¡ãã»ãŒãžããããã¯ãããŸãããããã¯ã»ãŒç¢ºå®ã«ãããã¯ãããŸããã
ããªããæå³ãããã®ã åžžã«æ¬¡ã®åœ¢åŒã®ã«ãŒã«ã䜿çšããŠãã ããã
send_destination="org.foo.Service"/>
·
ã®èŠçŽ ã«ã¯ãSecurity Enhanced Linux ã«é¢é£ããèšå®ãå«ãŸããŸãã ããã«è©³ãã
ãåç §ããŠãã ããã
·
ã¢ã³èŠçŽ ã¯äžã«è¡šç€ºãããŸãèŠçŽ ãäœæãããããã³ã°ãäœæããŸãã ãã£ãä»
XNUMX çš®é¡ã®é¢é£ä»ãã®ã¿ãå¯èœã§ãã
ããã¯ãæ¥ç¶ããorg.freedesktop.Foobarããšããååã®ææãèŠæ±ããå Žåã
ãœãŒã¹ ã³ã³ããã¹ãã¯æ¥ç¶ã®ã³ã³ããã¹ããšãªããã¿ãŒã²ãã ã³ã³ããã¹ãã¯
"foo_t" - 以äžã® SELinux ã®ç°¡åãªèª¬æãåç §ããŠãã ããã
ããã§ã®ã³ã³ããã¹ãã¯ãååããªã¯ãšã¹ããããšãã®ã¿ãŒã²ãã ã³ã³ããã¹ãã§ãããååã®ã³ã³ããã¹ãã§ã¯ãªãããšã«æ³šæããŠãã ããã
ååãææããæ¥ç¶ã
çŸåšã®ãšãããååãææããããã®ããã©ã«ããèšå®ããæ¹æ³ã¯ãããŸããããã®æ§æãè¿œå ãããšã
次ã®ããã«ãªããŸãã
ããã圹ç«ã€çç±ãèŠã€ããå Žåã¯ãéçºè ã«ç¥ãããŠãã ããã çŸæç¹ã§ã¯ããã©ã«ãã§ã¯
ãã¹èªäœã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãã«ãªããŸãã
XNUMXã€ãªãèŠçŽ ã¯åãååãæå®ããŸããèŠçŽ ã¯åŸã®æ¹ã«è¡šç€ºãããŸãã
èšå®ãã¡ã€ã«ã䜿çšãããŸãã
·
ã®èŠçŽ ã¯ããã¹äžã§ AppArmor ã¡ãã£ãšãŒã·ã§ã³ãæ§æããããã«äœ¿çšãããŸãã å«ãŸããå¯èœæ§ããããŸã
ã¡ãã£ãšãŒã·ã§ã³ ã¢ãŒããæå®ãã XNUMX ã€ã®å±æ§:
ããã©ã«ãã®ã¢ãŒãã¯ãæå¹ãã§ãã ãæå¹ãã¢ãŒãã§ã¯ã次ã®å Žåã« AppArmor ã¡ãã£ãšãŒã·ã§ã³ãå®è¡ãããŸãã
AppArmor ã®ãµããŒãã¯ã«ãŒãã«ã§å©çšã§ããŸãã å©çšã§ããªãå Žåãdbus-daemon ã¯
ãéå§ãããŸãããAppArmor ã¡ãã£ãšãŒã·ã§ã³ã¯çºçããŸããã ãç¡å¹ãã¢ãŒãã§ã¯ãAppArmor ã¡ãã£ãšãŒã·ã§ã³ã¯
ç¡å¹ã ãå¿ é ãã¢ãŒãã§ã¯ãAppArmor ãµããŒããæå¹ãªå ŽåãAppArmor ã¡ãã£ãšãŒã·ã§ã³ãæå¹ã«ãªããŸãã
å©çšå¯èœã§ãªãå Žåãdbus-daemon ã¯èµ·åãæåŠããŸãã
ãã¹ã® AppArmor ã¡ãã£ãšãŒã·ã§ã³ ã¢ãŒãã¯ããã¹ã®éå§åŸã«å€æŽããããšã¯ã§ããŸããã å€æŽäž
æ§æãã¡ã€ã«å ã®ã¢ãŒããšããŒã¢ã³ãžã® SIGHUP ã·ã°ãã«ã®éä¿¡ã¯å¹æããããŸãã
調åã¢ãŒãã§ã
ã»ãªããã¯ã¹
èŠã http://www.nsa.gov/selinux/ SELinux ã®è©³çŽ°ã«ã€ããŠã¯ããã¡ããã芧ãã ããã 圹ã«ç«ã€ããã€ãã®æç²:
ã·ã¹ãã å ã®ãã¹ãŠã®ãµããžã§ã¯ã (ããã»ã¹) ãšãªããžã§ã¯ã (ãã¡ã€ã«ããœã±ãããIPC ãªããžã§ã¯ããªã©) ã¯ã
ã»ãã¥ãªã㣠ã³ã³ããã¹ããšåŒã°ããã»ãã¥ãªãã£å±æ§ã®ã³ã¬ã¯ã·ã§ã³ãå²ãåœãŠãããŸãã ã»ãã¥ãªãã£
context ã«ã¯ãç¹å®ã®ãµããžã§ã¯ãã«é¢é£ä»ãããããã¹ãŠã®ã»ãã¥ãªãã£å±æ§ãå«ãŸããŠããŸãã
ã»ãã¥ãªã㣠ããªã·ãŒã«é¢é£ãããªããžã§ã¯ãã
ã»ãã¥ãªã㣠ã³ã³ããã¹ããããé©åã«ã«ãã»ã«åããŠå¹çãé«ããããã«ã
SELinux ã®ããªã·ãŒé©çšã³ãŒãã¯éåžžãã»ãã¥ãªãã£èå¥å (SID) ãåŠçããŸãã
ã»ãã¥ãªãã£ã³ã³ããã¹ããããã SID ã¯ãã»ãã¥ãªã㣠ãµãŒããŒã«ãã£ãŠãããã³ã°ãããæŽæ°ã§ãã
å®è¡æã®ã»ãã¥ãªãã£ã³ã³ããã¹ãã
ã»ãã¥ãªãã£ã«é¢ãã決å®ãå¿ èŠãªå Žåãããªã·ãŒé©çšã³ãŒã㯠SID ã®ãã¢ãæž¡ããŸãã
(éåžžã¯ãµããžã§ã¯ãã® SID ãšãªããžã§ã¯ãã® SID ã§ãããå Žåã«ãã£ãŠã¯ãµããžã§ã¯ãã®ãã¢
SID ãŸãã¯ãªããžã§ã¯ã SID ã®ãã¢)ãããã³ãªããžã§ã¯ã ã»ãã¥ãªã㣠ã¯ã©ã¹ãã»ãã¥ãªã㣠ãµãŒããŒã«éä¿¡ããŸãã ã®
ãªããžã§ã¯ã ã»ãã¥ãªã㣠ã¯ã©ã¹ã¯ããªããžã§ã¯ãã®çš®é¡ (ããã»ã¹ãéåžžã®ãã¡ã€ã«ããã¡ã€ã«ãªã©) ã瀺ããŸãã
ãã£ã¬ã¯ããªãTCP ãœã±ãããªã©ã
ã¢ã¯ã»ã¹ã®æ±ºå®ã¯ãç¹å®ã® SID ãã¢ã«å¯ŸããŠã¢ã¯ã»ã¹èš±å¯ãä»äžããããã©ãããæå®ããŸãã
ãããŠã¯ã©ã¹ã åãªããžã§ã¯ã ã¯ã©ã¹ã«ã¯ãå¶åŸ¡ããããã«å®çŸ©ãããé¢é£ããã¢ã¯ã»ã¹èš±å¯ã®ã»ããããããŸãã
ãã®ã¯ã©ã¹ã®ãªããžã§ã¯ãã«å¯Ÿããæäœã
D-Bus ã¯ãSELinux ã»ãã¥ãªã㣠ãã§ãã¯ã XNUMX ãæã§å®è¡ããŸãã
ãŸããã¡ãã»ãŒãžãããæ¥ç¶ããå¥ã®æ¥ç¶ã«ã«ãŒãã£ã³ã°ããããã³ã«ããã¹ã¯
ããŒã¢ã³ã¯ãæåã®æ¥ç¶ã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãããœãŒã¹ãšããŠã¢ã¯ã»ã¹èš±å¯ããã§ãã¯ããŸãã
ã¿ãŒã²ãããšããŠã® XNUMX çªç®ã®æ¥ç¶ã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãããªããžã§ã¯ã ã¯ã©ã¹ãdbusãããã³èŠæ±
æš©éãsend_msgãã
æ¥ç¶ã«ã»ãã¥ãªã㣠ã³ã³ããã¹ãã䜿çšã§ããªãå Žå (UNIX ãã¡ã€ã³ã䜿çšããå Žåã¯äžå¯èœ)
ãœã±ãã) ã®å Žåã䜿çšãããã¿ãŒã²ãã ã³ã³ããã¹ãã¯ãã¹ ããŒã¢ã³èªäœã®ã³ã³ããã¹ãã«ãªããŸãã ããã
UNIX ãã¡ã€ã³ã®ã¿ãæ³å®ããŠãããããçŸæç¹ã§ã¯ãã®ããã©ã«ããå€æŽããæ¹æ³ã¯ãããŸããã
ãœã±ããã¯ã·ã¹ãã å šäœã®ãã¹ã«æ¥ç¶ããããã«äœ¿çšãããŸãã ãããå€æŽãããå Žåã¯ãããããè¿œå ããã§ããã
ããã©ã«ãã®æ¥ç¶ã³ã³ããã¹ããèšå®ããæ¹æ³ã
第 XNUMX ã«ãæ¥ç¶ãååã®ææãèŠæ±ãããã³ã«ããã¹ ããŒã¢ã³ãã¢ã¯ã»ã¹èš±å¯ããã§ãã¯ããŸãã
æ¥ç¶ã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãããœãŒã¹ãšããŠäœ¿çšããã»ãã¥ãªã㣠ã³ã³ããã¹ããæå®ããŸãã
ã¿ãŒã²ãããšããŠã®æ§æãã¡ã€ã«å ã®ååããªããžã§ã¯ã ã¯ã©ã¹ãdbusããããã³èŠæ±ãããæš©é
ãacquire_svcãã
ãã¹åã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãã¯ã èŠçŽ ã®èª¬æ
ãã®ããã¥ã¡ã³ãã®ååã§èª¬æããŸãã ååã«ã»ãã¥ãªã㣠ã³ã³ããã¹ããé¢é£ä»ããããŠããªãå Žåã
æ§æãã¡ã€ã«ãå€æŽãããšããã¹ ããŒã¢ã³èªäœã®ã»ãã¥ãªã㣠ã³ã³ããã¹ãã䜿çšãããŸãã
ã¢ãããŒ
AppArmor å¶éã³ã³ããã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ããã¹ã«æ¥ç¶ãããšãã«ä¿åãããŸãã ã®
éã蟌ãã³ã³ããã¹ãã¯ãã©ãã«ãšéã蟌ãã¢ãŒãã§æ§æãããŸãã ã»ãã¥ãªãã£ã«é¢ãã決å®ãäžãããå Žå
ãå¿ èŠãªå ŽåãããŒã¢ã³ã¯å¶éã³ã³ããã¹ãã䜿çšã㊠AppArmor ããªã·ãŒãã¯ãšãªãã
ã¢ã¯ã·ã§ã³ãèš±å¯ãããæåŠããããããã³ã¢ã¯ã·ã§ã³ãç£æ»ããå¿ èŠããããã決å®ããŸãã
ããŒã¢ã³ã¯ãAppArmor ã»ãã¥ãªã㣠ãã§ãã¯ã XNUMX ãæã§å®è¡ããŸãã
ãŸããã¡ãã»ãŒãžãããæ¥ç¶ããå¥ã®æ¥ç¶ã«ã«ãŒãã£ã³ã°ããããã³ã«ããã¹ã¯
ããŒã¢ã³ã¯ãæåã®æ¥ç¶ã®ã©ãã«ããœãŒã¹ãšããŠäœ¿çšããŠæš©éããã§ãã¯ããŸãã
ããã³/ãŸãã¯ã¿ãŒã²ãããšããŠã® XNUMX çªç®ã®æ¥ç¶ã®æ¥ç¶åãšãã¹åã
ãã¹åãã€ã³ã¿ãŒãã§ãŒã¹åãã¡ã³ããŒåã å¿çã¡ãã»ãŒãž (method_return ãªã©)
ããã³ãšã©ãŒ ã¡ãã»ãŒãžã¯ã次ã®ã¡ãã»ãŒãžã«å¯Ÿããå¿çã§ããå Žåãæé»çã«èš±å¯ãããŸãã
ãã§ã«èš±å¯ãããŠããŸãã
第 XNUMX ã«ãæ¥ç¶ãååã®ææãèŠæ±ãããã³ã«ããã¹ ããŒã¢ã³ãã¢ã¯ã»ã¹èš±å¯ããã§ãã¯ããŸãã
ãœãŒã¹ãšããŠæ¥ç¶ã®ã©ãã«ãã¿ãŒã²ãããšããŠèŠæ±ãããååãããã³
ãã¹ã®ååã
第äžã«ãæ¥ç¶ãçèŽãè©Šã¿ããã³ã«ããã¹ ããŒã¢ã³ãã¢ã¯ã»ã¹èš±å¯ããã§ãã¯ããŸãã
ãœãŒã¹ãšããŠã®æ¥ç¶ã®ã©ãã«ãšãã¹åã䜿çšããŸãã
ãã¹ ã¡ãã£ãšãŒã·ã§ã³ã® AppArmor ã«ãŒã«ã¯ããã¹æ§æãã¡ã€ã«ã«ã¯ä¿åãããŸããã 圌ãã§ã
ã¢ããªã±ãŒã·ã§ã³ã® AppArmor ãããã¡ã€ã«ã«ä¿åãããŸãã åç §ããŠãã ãã apparmor.d(5) ã®ã¬ã€ãããåç §ãã ããã
ãããã°
ã¡ãã»ãŒãžãã©ãã«éä¿¡ãããŠããã®ãããŸãã¯ãªãåä¿¡ã§ããªãã®ããææ¡ããããšããŠããå Žå
ã¡ãã»ãŒãžã衚瀺ãããå Žåã¯ãããã€ãè©ŠããŠã¿ãããšãã§ããŸãã
ã·ã¹ãã ãã¹ã¯å³éã«ããã¯ããŠã³ãããŠããããšã«æ³šæããŠãã ããã
ã»ãã¥ãªã㣠ããªã·ãŒ ãã¡ã€ã«ã䜿çšããŠã¡ãã»ãŒãžã®ééãèš±å¯ããŠããæ©èœããŸããã ã»ãã·ã§ã³ãã¹ã®å Žåã
ããã¯å¿é ãããŸããã
ãã¹å ã§äœãèµ·ãã£ãŠããããææ¡ããæãç°¡åãªæ¹æ³ã¯ã dbus ã¢ãã¿ãŒ
ãã®ããã°ã©ã 㯠D-Bus ããã±ãŒãžã«ä»å±ããŠããŸãã ãã¹ãã¡ãã»ãŒãžãéä¿¡ããããšãã§ããŸã
dbus-éä¿¡ã ãããã®ããã°ã©ã ã«ã¯ç¬èªã®ããã¥ã¢ã« ããŒãžããããŸãã
ããŒã¢ã³èªäœãäœãããŠããã®ããç¥ãããå Žåã¯ãå¥ã®ããŒã¢ã³ãå®è¡ããããšãæ€èšããŠãã ããã
ãã¹ãããããŒã¢ã³ã®ã³ããŒã ããã«ãããããŒã¢ã³ã
å®éã®ã»ãã·ã§ã³ãšã·ã¹ãã ãå°ç¡ãã«ããããšãªãããããã¬ãå®è¡ãããã詳现ãªåºåã§å®è¡ãããã§ããŸã
ããŒã¢ã³ã
ããšãã°ãããŒã¢ã³ã®å¥ã®ãã¹ã ã³ããŒãå®è¡ããã«ã¯ãã¿ãŒããã«ãéããŠæ¬¡ã®ããã«å ¥åããŸãã
DBUS_VERBOSE=1 dbus-daemon --session --print-address
ãã¹ã ããŒã¢ã³ã®ã¢ãã¬ã¹ã¯ãããŒã¢ã³ã®èµ·åæã«åºåãããŸãã å¿ èŠãšãªãã®ã¯ã
ãã®ã¢ãã¬ã¹ãã³ããŒããŠè²Œãä»ããDBUS_SESSION_BUS_ADDRESS ã®å€ãšããŠäœ¿çšããŸãã
ãã¹ãããã¢ããªã±ãŒã·ã§ã³ãèµ·åãããšãã«ç°å¢å€æ°ã䜿çšããŸãã ããã«ããã
ãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãDBUS_SESSION_BUS_ADDRESS ã®ä»£ããã«ãã¹ã ãã¹ã«æ¥ç¶ããŸãã
å®éã®ã»ãã·ã§ã³ãã¹ã
D-Bus ã®ã³ããŒãåé·ã§ã³ã³ãã€ã«ãããŠããªãéããDBUS_VERBOSE=1 ã¯å¹æããããŸããã
ã¢ãŒããæå¹ã«ãªããŸããã ããã©ãŒãã³ã¹ã«åœ±é¿ãäžãããããå®çšŒåãã«ãã§ã¯ããã¯ãå§ãã§ããŸããã ããªã
ã³ããŒããããã°ã念é ã«çœ®ããŠæ§ç¯ãããŠããªãå Žåã¯ãD-Bus ãåæ§ç¯ããå¿ èŠãããå ŽåããããŸãã (DBUS_VERBOSE
D-Bus ã©ã€ãã©ãªãã€ãŸã D-Bus ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã«ã圱é¿ããŸãã èŠããšåœ¹ã«ç«ã€ãããããŸãã
ã¯ã©ã€ã¢ã³ãåŽãšããŒã¢ã³ã®äž¡æ¹ã§è©³çŽ°ãªåºåã衚瀺ãããŸãã)
ããã«åãããå Žåã¯ããã¹ã ãã¹ã®ã«ã¹ã¿ã ãã¹æ§æãäœæã§ããŸã (ã
session.conf ãã¡ã€ã«ãš system.conf ãã¡ã€ã«ããããã®ãã¡ã€ã«ã¯ã
äŸïŒã ããã«ããã.service ãã¡ã€ã«ã«å¥ã®ãã£ã¬ã¯ããªãæå®ã§ããããã«ãªããŸãã
äŸã
onworks.net ãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§ dbus-daemon ã䜿çšãã