macOS Auto Start
Sehemu hii inategemea sana safu ya blogu Beyond the good ol' LaunchAgents, lengo ni kuongeza Maeneo zaidi ya Kuanza Kiotomatiki (ikiwezekana), kuonyesha njia zipi bado zinafanya kazi leo na toleo la hivi karibuni la macOS (13.4) na kueleza ruhusa inayohitajika.
Kizuizi cha Sanduku la Mchanga
Hapa unaweza kupata maeneo ya kuanza muhimu kwa kizuizi cha sanduku la mchanga ambacho kinakuruhusu tu kutekeleza kitu kwa kuandika kwenye faili na kungojea kwa kitendo cha kawaida sana, kiasi fulani cha muda au kitendo unachoweza kawaida kufanya kutoka ndani ya sanduku la mchanga bila kuhitaji ruhusa ya msingi.
Launchd
Maeneo
/Library/LaunchAgents
Kitendo cha Kuanza: Reboot
Inahitaji Root
/Library/LaunchDaemons
Kitendo cha Kuanza: Reboot
Inahitaji Root
/System/Library/LaunchAgents
Kitendo cha Kuanza: Reboot
Inahitaji Root
/System/Library/LaunchDaemons
Kitendo cha Kuanza: Reboot
Inahitaji Root
~/Library/LaunchAgents
Kitendo cha Kuanza: Ingia tena
~/Library/LaunchDemons
Kitendo cha Kuanza: Ingia tena
Kama ukweli wa kuvutia, launchd
ina orodha ya mali iliyofungwa kwenye sehemu ya Mach-o __Text.__config
ambayo ina huduma zingine maarufu ambazo launchd lazima aanze. Zaidi ya hayo, huduma hizi zinaweza kuwa na RequireSuccess
, RequireRun
na RebootOnSuccess
ambayo inamaanisha lazima zitekelezwe na kukamilika kwa mafanikio.
Bila shaka, haiwezi kuhaririwa kwa sababu ya kusainiwa kwa nambari.
Maelezo & Udukuzi
launchd
ni mchakato wa kwanza unaoendeshwa na kernel ya OX S wakati wa kuanza na wa mwisho kumaliza wakati wa kuzima. Daima inapaswa kuwa na PID 1. Mchakato huu utasoma na kutekeleza mipangilio iliyotajwa katika plists za ASEP katika:
/Library/LaunchAgents
: Mawakala wa mtumiaji waliowekwa na msimamizi/Library/LaunchDaemons
: Daemons za mfumo zilizowekwa na msimamizi/System/Library/LaunchAgents
: Mawakala wa mtumiaji zinazotolewa na Apple./System/Library/LaunchDaemons
: Daemons za mfumo zinazotolewa na Apple.
Wakati mtumiaji anapoingia, plists zilizoko katika /Users/$USER/Library/LaunchAgents
na /Users/$USER/Library/LaunchDemons
zinaanza na ruhusa za watumiaji walioingia.
Tofauti kuu kati ya mawakala na daemons ni kwamba mawakala hupakiwa wakati mtumiaji anaingia na daemons hupakiwa wakati wa kuanza kwa mfumo (kwa kuwa kuna huduma kama ssh ambayo inahitaji kutekelezwa kabla ya mtumiaji yeyote kupata ufikiaji wa mfumo). Pia mawakala wanaweza kutumia GUI wakati daemons wanahitaji kukimbia kwenye hali ya nyuma.
Kuna matukio ambapo mawakala lazima watekelezwe kabla ya mtumiaji kuingia, hizi huitwa PreLoginAgents. Kwa mfano, hii ni muhimu kutoa teknolojia ya msaada wakati wa kuingia. Wanaweza kupatikana pia katika /Library/LaunchAgents
(ona hapa mfano).
Faili mpya za usanidi za Daemons au Agents zitaloading baada ya kuanza upya au kutumia launchctl load <target.plist>
Pia ni inawezekana kuloada faili za .plist bila kuwa na kipengee hicho kwa kutumia launchctl -F <file>
(hata hivyo faili hizo za plist hazitapakiwa moja kwa moja baada ya kuanza upya).
Pia ni inawezekana kufuta kwa kutumia launchctl unload <target.plist>
(mchakato ulionyesha utakatishwa),
Ili kudhibitisha kwamba hakuna kitu (kama kubadilisha) kinazuia Mwakala au Daemon kutoka kutekelezwa endesha: sudo launchctl load -w /System/Library/LaunchDaemos/com.apple.smdb.plist
Panga mawakala na daemons wote wanaopakiwa na mtumiaji wa sasa:
Ikiwa plist inamilikiwa na mtumiaji, hata kama iko katika folda za mfumo wa daemon, kazi itatekelezwa kama mtumiaji na sio kama root. Hii inaweza kuzuia baadhi ya mashambulizi ya uongezaji wa mamlaka.
Taarifa zaidi kuhusu launchd
launchd
ni mchakato wa mode ya kwanza wa mtumiaji ambao huanza kutoka kwa kernel. Mchakato wa kuanza lazima uwe mefanikiwa na usiweze kutokea au kugonga. Hata ulinzi dhidi ya baadhi ya isara za kuua.
Moja ya mambo ya kwanza ambayo launchd
ingefanya ni kuanzisha daemons zote kama:
Daemons za Timer zinazotegemea wakati wa kutekelezwa:
atd (
com.apple.atrun.plist
): InaStartInterval
ya dakika 30crond (
com.apple.systemstats.daily.plist
): InaStartCalendarInterval
kuanza saa 00:15
Daemons za Mtandao kama:
org.cups.cups-lpd
: Inasikiliza kwenye TCP (SockType: stream
) naSockServiceName: printer
SockServiceName lazima iwe bandari au huduma kutoka
/etc/services
com.apple.xscertd.plist
: Inasikiliza kwenye TCP kwenye bandari 1640
Daemons za Path ambazo hutekelezwa wakati njia iliyospecify inabadilika:
com.apple.postfix.master
: Kuchunguza njia/etc/postfix/aliases
Daemons za arifa za IOKit:
com.apple.xartstorageremoted
:"com.apple.iokit.matching" => { "com.apple.device-attach" => { "IOMatchLaunchStream" => 1 ...
Mach port:
com.apple.xscertd-helper.plist
: Inaonyesha katika kuingia kwaMachServices
jinacom.apple.xscertd.helper
UserEventAgent:
Hii ni tofauti na ile iliyotangulia. Inafanya launchd kuzalisha programu kujibu tukio maalum. Walakini, katika kesi hii, binary kuu inayohusika sio
launchd
lakini/usr/libexec/UserEventAgent
. Inapakia programu-jalizi kutoka kwa folda iliyozuiwa na SIP /System/Library/UserEventPlugins/ ambapo kila programu-jalizi inaonyesha mwanzilishi wake katika ufunguo waXPCEventModuleInitializer
au. katika kesi ya programu-jalizi za zamani, katikaCFPluginFactories
dict chini ya ufunguoFB86416D-6164-2070-726F-70735C216EC0
yaInfo.plist
.
Faili za kuanza kwa shell
Maelezo: https://theevilbit.github.io/beyond/beyond_0001/ Maelezo (xterm): https://theevilbit.github.io/beyond/beyond_0018/
Inatumika kukiuka sanduku la mchanga: ✅
Kukiuka TCC: ✅
Lakini unahitaji kupata programu na kukiuka TCC ambayo inatekeleza shell ambayo inapakia faili hizi
Maeneo
~/.zshrc
,~/.zlogin
,~/.zshenv.zwc
,~/.zshenv
,~/.zprofile
Kichocheo: Fungua terminal na zsh
/etc/zshenv
,/etc/zprofile
,/etc/zshrc
,/etc/zlogin
Kichocheo: Fungua terminal na zsh
Inahitaji Root
~/.zlogout
Kichocheo: Toka kwenye terminal na zsh
/etc/zlogout
Kichocheo: Toka kwenye terminal na zsh
Inahitaji Root
Huenda zaidi katika:
man zsh
~/.bashrc
Kichocheo: Fungua terminal na bash
/etc/profile
(haikufanya kazi)~/.profile
(haikufanya kazi)~/.xinitrc
,~/.xserverrc
,/opt/X11/etc/X11/xinit/xinitrc.d/
Kichocheo: Inatarajiwa kuzinduliwa na xterm, lakini haipo na hata baada ya kuiweka kosa hili linatokea: xterm:
DISPLAY is not set
Maelezo & Utekaji
Wakati wa kuanzisha mazingira ya shell kama zsh
au bash
, faili za kuanza zinatekelezwa. macOS kwa sasa inatumia /bin/zsh
kama shell ya msingi. Shell hii inafikiwa moja kwa moja wakati programu ya Terminal inazinduliwa au wakati kifaa kinapata kupitia SSH. Ingawa bash
na sh
pia wapo katika macOS, wanahitaji kuitwa wazi ili kutumika.
Ukurasa wa man wa zsh, ambao tunaweza kusoma kwa kutumia man zsh
una maelezo marefu ya faili za kuanza.
Programu Zilizofunguliwa tena
Kuweka mazingira ya kutumia na kujiondoa na kuingia tena au hata kuanzisha upya hakukufanyia kazi kunitekelezea programu. (Programu haikuwa inatekelezwa, labda inahitaji kuwa inatekelezwa wakati hatua hizi zinatekelezwa)
Andika: https://theevilbit.github.io/beyond/beyond_0021/
Mahali
~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist
Kichocheo: Anzisha upya programu zilizofunguliwa tena
Maelezo na Utekaji
Programu zote za kufunguliwa tena zimo ndani ya plist ~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist
Kwa hivyo, ili programu zilizofunguliwa tena ziweze kuzindua yako, unahitaji tu kuongeza programu yako kwenye orodha.
UUID inaweza kupatikana kwa kuorodhesha saraka hiyo au kwa kutumia ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}'
Ili kuchunguza programu zitakazofunguliwa tena unaweza kufanya:
Ili kuongeza programu kwenye orodha hii unaweza kutumia:
Mapendeleo ya Terminali
Inatumika kukiuka sanduku la mchanga: ✅
Kukiuka TCC: ✅
Matumizi ya Terminali kuwa na ruhusa za FDA za mtumiaji anayetumia
Mahali
~/Library/Preferences/com.apple.Terminal.plist
Kichocheo: Fungua Terminal
Maelezo na Utekaji
Katika ~/Library/Preferences
kuna mapendeleo ya mtumiaji katika Programu. Baadhi ya mapendeleo haya yanaweza kushikilia usanidi wa kutekeleza programu/zana nyingine.
Kwa mfano, Terminali inaweza kutekeleza amri wakati wa Kuanza:
Usanidi huu unajitokeza katika faili ~/Library/Preferences/com.apple.Terminal.plist
kama ifuatavyo:
Kwa hivyo, ikiwa plist ya mapendeleo ya terminali katika mfumo inaweza kubadilishwa, basi kazi ya open
inaweza kutumika kufungua terminali na amri hiyo itatekelezwa.
Unaweza kuongeza hii kutoka kwa cli kwa:
Skripti za Terminali / Vipengele vingine vya faili
Inatumika kukiuka sanduku la mchanga: ✅
Kukiuka TCC: ✅
Matumizi ya Terminali kuwa na ruhusa za FDA ikiwa mtumiaji anaitumia
Mahali
Mahali popote
Kichocheo: Fungua Terminali
Maelezo & Utekaji
Ikiwa utaunda skripti ya .terminal
na kuifungua, programu ya Terminal itaitwa moja kwa moja kutekeleza amri zilizotajwa humo. Ikiwa programu ya Terminal ina ruhusa maalum (kama vile TCC), amri yako itatekelezwa kwa ruhusa hizo maalum.
Jaribu hivi:
Unaweza pia kutumia nyongeza .command
, .tool
, na maudhui ya skripti za kawaida za shell na zitafunguliwa na Terminal.
Ikiwa terminali ina Upatikanaji Kamili wa Diski, itaweza kumaliza hatua hiyo (kumbuka kuwa amri iliyotekelezwa itaonekana kwenye dirisha la terminali).
Vifaa vya Sauti
Maelezo: https://theevilbit.github.io/beyond/beyond_0013/ Maelezo: https://posts.specterops.io/audio-unit-plug-ins-896d3434a882
Mahali
/Library/Audio/Plug-Ins/HAL
Inahitajika mizizi
Kichocheo: Anza upya coreaudiod au kompyuta
/Library/Audio/Plug-ins/Components
Inahitajika mizizi
Kichocheo: Anza upya coreaudiod au kompyuta
~/Library/Audio/Plug-ins/Components
Kichocheo: Anza upya coreaudiod au kompyuta
/System/Library/Components
Inahitajika mizizi
Kichocheo: Anza upya coreaudiod au kompyuta
Maelezo
Kulingana na maelezo ya awali, ni inawezekana kuchanganya vifaa vya sauti na kuvipakia.
Vifaa vya QuickLook
Maelezo: https://theevilbit.github.io/beyond/beyond_0028/
Mahali
/System/Library/QuickLook
/Library/QuickLook
~/Library/QuickLook
/Applications/AppNameHere/Contents/Library/QuickLook/
~/Applications/AppNameHere/Contents/Library/QuickLook/
Maelezo & Utekaji
Vifaa vya QuickLook vinaweza kutekelezwa unapopiga kichocheo cha hakikisho cha faili (bonyeza nafasi na faili iliyochaguliwa kwenye Finder) na nyongeza inayounga mkono aina hiyo ya faili imewekwa.
Inawezekana kuchanganya nyongeza yako ya QuickLook, iweke kwenye mojawapo ya maeneo yaliyotajwa hapo juu ili kuipakia kisha nenda kwenye faili inayoungwa mkono na bonyeza nafasi kuichokoza.
Kanzidata ya Kuingia/Kutoka
Hii haikufanya kazi kwangu, wala na Kanzidata ya Kuingia ya mtumiaji wala na Kanzidata ya Kutoka ya mizizi
Maelezo: https://theevilbit.github.io/beyond/beyond_0022/
Mahali
Unahitaji kuweza kutekeleza kitu kama
defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh
I
mejumuishwa katika~/Library/Preferences/com.apple.loginwindow.plist
Zimepitwa na wakati lakini zinaweza kutumika kutekeleza amri wakati mtumiaji anaingia.
Hii mipangilio inahifadhiwa katika /Users/$USER/Library/Preferences/com.apple.loginwindow.plist
Ili kufuta hiyo:
Mwanzilishi wa mizizi imehifadhiwa katika /private/var/root/Library/Preferences/com.apple.loginwindow.plist
Kizuizi cha Sanduku la Kumaliza
Hapa unaweza kupata maeneo ya kuanza yanayofaa kwa kizuizi cha sanduku ambacho kinakuruhusu kutekeleza kitu kwa urahisi kwa kuandika kwenye faili na kutarajia hali sio za kawaida kama programu maalum zilizosanikishwa, hatua za mtumiaji "zisizo za kawaida" au mazingira.
Cron
Maelezo: https://theevilbit.github.io/beyond/beyond_0004/
Inatumika kwa kizuizi cha sanduku: ✅
Hata hivyo, unahitaji kuweza kutekeleza
crontab
binaryAu uwe mizizi
Kizuizi cha TCC: 🔴
Mahali
/usr/lib/cron/tabs/
,/private/var/at/tabs
,/private/var/at/jobs
,/etc/periodic/
Mizizi inahitajika kwa ufikiaji wa kuandika moja kwa moja. Hakuna mizizi inayohitajika ikiwa unaweza kutekeleza
crontab <faili>
Kichocheo: Inategemea kazi ya cron
Maelezo & Utekaji
Pata kazi za cron za mtumiaji wa sasa na:
Unaweza pia kuona kazi zote za cron za watumiaji katika /usr/lib/cron/tabs/
na /var/at/tabs/
(inahitaji ruhusa ya msingi).
Katika MacOS, folda kadhaa zinazotekeleza hati kwa frekwensi fulani zinaweza kupatikana katika:
Hapa ndipo unaweza kupata kazi za cron za kawaida, kazi za at (ambazo hazitumiwi sana) na kazi za kipindi (zinazotumiwa hasa kusafisha faili za muda). Kazi za kipindi za kila siku zinaweza kutekelezwa kwa mfano na: periodic daily
.
Kuongeza programu ya kazi ya cron ya mtumiaji kiotomatiki inawezekana kutumia:
iTerm2
Maelezo: https://theevilbit.github.io/beyond/beyond_0002/
Inatumika kwa kuzidi sandbox: ✅
Kizuizi cha TCC: ✅
iTerm2 hutumika kuwa na ruhusa za TCC zilizoidhinishwa
Maeneo
~/Library/Application Support/iTerm2/Scripts/AutoLaunch
Kichocheo: Fungua iTerm
~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt
Kichocheo: Fungua iTerm
~/Library/Preferences/com.googlecode.iterm2.plist
Kichocheo: Fungua iTerm
Maelezo & Utekaji
Scripts zilizohifadhiwa katika ~/Library/Application Support/iTerm2/Scripts/AutoLaunch
zitatekelezwa. Kwa mfano:
macOS Auto Start Locations
Launch Agents
Launch Agents are used to run processes when a user logs in. They are located in ~/Library/LaunchAgents/
and /Library/LaunchAgents/
.
Launch Daemons
Launch Daemons are used to run processes at system boot or login. They are located in /Library/LaunchDaemons/
and /System/Library/LaunchDaemons/
.
Login Items
Login Items are applications that open when a user logs in. They can be managed in System Preferences > Users & Groups > Login Items
.
Skripti ~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt
pia itatekelezwa:
Faili za mapendeleo ya iTerm2 zilizoko katika ~/Library/Preferences/com.googlecode.iterm2.plist
zinaweza kuonyesha amri ya kutekeleza wakati terminali ya iTerm2 inapofunguliwa.
Mazingira haya yanaweza kusanidiwa katika mipangilio ya iTerm2:
Na amri inaonyeshwa katika mapendeleo:
Unaweza kuweka amri ya kutekelezwa kwa:
Kuna uwezekano mkubwa kuna njia nyingine za kutumia mipangilio ya iTerm2 kutekeleza amri za kupindukia.
xbar
Maelezo: https://theevilbit.github.io/beyond/beyond_0007/
Inatumika kukiuka sanduku la mchanga: ✅
Lakini xbar lazima iwe imewekwa
Kizuizi cha TCC: ✅
Inahitaji ruhusa ya Ufikivu
Mahali
~/Library/Application\ Support/xbar/plugins/
Kichocheo: Mara tu xbar inapoendeshwa
Maelezo
Ikiwa programu maarufu ya xbar imefungwa, inawezekana kuandika script ya shelisheli katika ~/Library/Application\ Support/xbar/plugins/
ambayo itatekelezwa wakati xbar inapoanzishwa:
Hammerspoon
Maelezo: https://theevilbit.github.io/beyond/beyond_0008/
Inatumika kwa kuzingira ya mchanga: ✅
Lakini Hammerspoon lazima iwe imewekwa
Kizuizi cha TCC: ✅
Inahitaji ruhusa za Ufikivu
Mahali
~/.hammerspoon/init.lua
Kichocheo: Mara tu Hammerspoon inapoendeshwa
Maelezo
Hammerspoon inafanya kazi kama jukwaa la kiotomatiki kwa macOS, ikiboresha lugha ya skripti ya LUA kwa shughuli zake. Kwa umuhimu, inasaidia uingizaji wa nambari kamili ya AppleScript na utekelezaji wa skripti za shell, ikiboresha uwezo wake wa skripti kwa kiasi kikubwa.
Programu hii inatafuta faili moja tu, ~/.hammerspoon/init.lua
, na wakati skripti inapoanza itatekelezwa.
BetterTouchTool
Inatumika kukiuka sanduku la mchanga: ✅
Lakini BetterTouchTool lazima iwe imewekwa
Kukiuka TCC: ✅
Inahitaji ruhusa za Ufikiaji wa Utoaji wa Automesheni na Ufikiaji wa Urahisi
Mahali
~/Library/Application Support/BetterTouchTool/*
Chombo hiki huruhusu kuonyesha programu au hati za kutekelezwa wakati baadhi ya mkato unapigwa. Mshambuliaji anaweza kuweza kusanidi mkato wake mwenyewe na hatua ya kutekelezwa katika hifadhidata ili kufanya kutekeleza nambari ya kupindukia (mkato unaweza kuwa ni kubonyeza tu kitufe).
Alfred
Inatumika kukiuka sanduku la mchanga: ✅
Lakini Alfred lazima iwe imewekwa
Kukiuka TCC: ✅
Inahitaji ruhusa za Utoaji wa Automesheni, Urahisi na hata Ufikiaji wa Diski kamili
Mahali
???
Inaruhusu kuunda mifumo ya kazi ambayo inaweza kutekeleza nambari wakati hali fulani zinakutana. Kwa uwezekano ni rahisi kwa mshambuliaji kuunda faili ya mfumo wa kazi na kufanya Alfred iipakie (inahitajika kulipa toleo la malipo kutumia mifumo ya kazi).
SSHRC
Maelezo: https://theevilbit.github.io/beyond/beyond_0006/
Inatumika kukiuka sanduku la mchanga: ✅
Lakini ssh inahitaji kuwezeshwa na kutumika
Kukiuka TCC: ✅
SSH hutumia kupata Ufikiaji wa Diski kamili
Mahali
~/.ssh/rc
Kichocheo: Kuingia kupitia ssh
/etc/ssh/sshrc
Inahitaji mizizi
Kichocheo: Kuingia kupitia ssh
Kuwezesha ssh kunahitaji Ufikiaji wa Diski kamili:
Maelezo & Utekaji
Kwa chaguo-msingi, isipokuwa PermitUserRC no
katika /etc/ssh/sshd_config
, wakati mtumiaji anaingia kupitia SSH hati /etc/ssh/sshrc
na ~/.ssh/rc
zitatekelezwa.
Vitu vya Kuingia
Andika: https://theevilbit.github.io/beyond/beyond_0003/
Inatumika kukiuka sanduku la mchanga: ✅
Lakini unahitaji kutekeleza
osascript
na vigezoKukiuka TCC: 🔴
Maeneo
~/Library/Application Support/com.apple.backgroundtaskmanagementagent
Kichocheo: Kuingia
Utekaji wa mzigo uliowekwa unaita
osascript
/var/db/com.apple.xpc.launchd/loginitems.501.plist
Kichocheo: Kuingia
Inahitaji Mzizi
Maelezo
Katika Mapendeleo ya Mfumo -> Watumiaji & Vikundi -> Vitu vya Kuingia unaweza kupata vitengo vitakavyotekelezwa wakati mtumiaji anapoingia. Inawezekana kuziorodhesha, kuongeza na kuondoa kutoka kwa mstari wa amri:
Hizi vitu hifadhiwa kwenye faili ~/Library/Application Support/com.apple.backgroundtaskmanagementagent
Vitu vya kuingia vinaweza pia kuonyeshwa kwa kutumia API SMLoginItemSetEnabled ambayo itahifadhi usanidi katika /var/db/com.apple.xpc.launchd/loginitems.501.plist
ZIP kama Kipengee cha Kuingia
(Angalia sehemu iliyopita kuhusu Vitu vya Kuingia, hii ni nyongeza)
Ikiwa unahifadhi faili ya ZIP kama Kipengee cha Kuingia Archive Utility
itaifungua na ikiwa zip ilikuwa kwa mfano imehifadhiwa katika ~/Library
na ilikuwa na Folda LaunchAgents/file.plist
yenye mlango wa nyuma, folda hiyo itaundwa (haipo kwa chaguo-msingi) na plist itaongezwa hivyo wakati mwingine mtumiaji anapoingia tena, mlango wa nyuma ulioonyeshwa kwenye plist utatekelezwa.
Chaguo lingine lingekuwa kuunda faili .bash_profile
na .zshenv
ndani ya nyumbani kwa mtumiaji hivyo ikiwa folda ya LaunchAgents tayari ipo hii mbinu bado itafanya kazi.
At
Andika: https://theevilbit.github.io/beyond/beyond_0014/
Inatumika kukiuka sanduku la mchanga: ✅
Lakini unahitaji kutekeleza
at
na lazima iwe imezimwaKukiuka TCC: 🔴
Mahali
Unahitaji kutekeleza
at
na lazima iwe imezimwa
Maelezo
Kazi za at
zinabuniwa kwa ajili ya kupanga kazi za mara moja zitekelezwe wakati fulani. Tofauti na kazi za cron, kazi za at
zinaondolewa moja kwa moja baada ya utekelezaji. Ni muhimu kutambua kwamba kazi hizi ni thabiti kupitia kuanzisha upya kwa mfumo, hivyo zinaweza kuwa na wasiwasi wa usalama chini ya hali fulani.
Kwa chaguo-msingi zimezimwa lakini mtumiaji wa root anaweza kuwasha hizo na:
Hii itaunda faili ndani ya saa 1:
Angalia foleni ya kazi kwa kutumia atq:
Hapo juu tunaweza kuona kazi mbili zilizopangwa. Tunaweza kuchapisha maelezo ya kazi kwa kutumia at -c JOBNUMBER
Ikiwa kazi za AT hazijawezeshwa, kazi zilizoundwa hazitafanyika.
Faili za kazi zinaweza kupatikana kwenye /private/var/at/jobs/
Jina la faili lina orodha, nambari ya kazi, na wakati ambao imepangwa kufanya kazi. Kwa mfano, hebu tuangalie a0001a019bdcd2
.
a
- hii ni orodha0001a
- nambari ya kazi katika hex,0x1a = 26
019bdcd2
- wakati katika hex. Inawakilisha dakika zilizopita tangu epoch.0x019bdcd2
ni26991826
katika decimal. Tukizidisha kwa 60 tunapata1619509560
, ambayo niGMT: 2021. Aprili 27., Jumanne 7:46:00
.
Ikiwa tunachapisha faili ya kazi, tunagundua ina taarifa ile ile tuliyopata kwa kutumia at -c
.
Vitendo vya Folda
Maelezo: https://theevilbit.github.io/beyond/beyond_0024/ Maelezo: https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d
Inatumika kukiuka sanduku la mchanga: ✅
Lakini unahitaji kuweza kuita
osascript
na hoja kuwasiliana naSystem Events
ili uweze kusanidi Vitendo vya FoldaKukiuka TCC: 🟠
Ina ruhusa za TCC za msingi kama Desktop, Documents na Downloads
Mahali
/Library/Scripts/Folder Action Scripts
Inahitaji mizizi
Kichocheo: Kufikia folda iliyotajwa
~/Library/Scripts/Folder Action Scripts
Kichocheo: Kufikia folda iliyotajwa
Maelezo & Utekaji
Vitendo vya Folda ni hati zinazotumiwa moja kwa moja na mabadiliko katika folda kama vile kuongeza, kuondoa vitu, au vitendo vingine kama vile kufungua au kurekebisha dirisha la folda. Vitendo hivi vinaweza kutumika kwa kazi mbalimbali, na vinaweza kuchochewa kwa njia tofauti kama kutumia UI ya Finder au amri za terminali.
Kuanzisha Vitendo vya Folda, una chaguo kama:
Kuunda mchakato wa Vitendo vya Folda na Automator na kuiweka kama huduma.
Kuambatanisha hati kwa mkono kupitia Usanidi wa Vitendo vya Folda katika menyu ya muktadha ya folda.
Kutumia OSAScript kutuma ujumbe wa Tukio la Apple kwa
System Events.app
kwa kusanidi Vitendo vya Folda kwa njia ya programu.
Mbinu hii ni muhimu hasa kwa kuingiza kitendo katika mfumo, kutoa kiwango cha uthabiti.
Hati ifuatayo ni mfano wa kile kinaweza kutekelezwa na Vitendo vya Folda:
Ili kufanya script hapo juu iweze kutumika na Matendo ya Folda, iichapishe kwa kutumia:
Baada ya hati kutekelezwa, weka Vitendo vya Folda kwa kutekeleza hati hii hapa chini. Hati hii itawezesha Vitendo vya Folda kwa ujumla na kuambatanisha hati iliyokompiliwa awali kwenye folda ya Desktop.
Chukua script ya usanidi na:
Hii ndio njia ya kutekeleza uthabiti huu kupitia GUI:
Hii ndio script itakayotekelezwa:
Kuikusanya na: osacompile -l JavaScript -o folder.scpt source.js
Hamisha kwa:
Kisha, fungua programu ya Folder Actions Setup
, chagua folda unayotaka kufuatilia na chagua kesi yako folder.scpt
(kwa kesi yangu niliita output2.scp):
Sasa, ukifungua folda hiyo na Finder, script yako itatekelezwa.
Mipangilio hii ilihifadhiwa kwenye plist iliyoko katika ~/Library/Preferences/com.apple.FolderActionsDispatcher.plist
kwa muundo wa base64.
Sasa, jaribu kuandaa uthabiti huu bila ufikiaji wa GUI:
Nakili
~/Library/Preferences/com.apple.FolderActionsDispatcher.plist
kwenda/tmp
kwa kuihifadhi:
cp ~/Library/Preferences/com.apple.FolderActionsDispatcher.plist /tmp
Ondoa Matendo ya Folda uliyojiwekea tu:
Sasa tukiwa na mazingira yasiyo na kitu
Nakili faili ya nakala:
cp /tmp/com.apple.FolderActionsDispatcher.plist ~/Library/Preferences/
Fungua programu ya Folder Actions Setup.app ili kutumia hii mipangilio:
open "/System/Library/CoreServices/Applications/Folder Actions Setup.app/"
Na hii haikufanya kazi kwangu, lakini hizi ni maagizo kutoka kwenye andiko:(
Vielekezo vya Dock
Andiko: https://theevilbit.github.io/beyond/beyond_0027/
Inatumika kukiuka sanduku la mchanga: ✅
Lakini unahitaji kuwa umeweka programu mbaya ndani ya mfumo
Kukiuka TCC: 🔴
Mahali
~/Library/Preferences/com.apple.dock.plist
Kichocheo: Wakati mtumiaji anapobonyeza programu ndani ya dock
Maelezo & Utekaji
Programu zote zinazoonekana kwenye Dock zimetajwa ndani ya plist: ~/Library/Preferences/com.apple.dock.plist
Inawezekana kuongeza programu tu kwa:
Kwa kutumia uhandisi wa kijamii unaweza kujifanya kuwa mfano Google Chrome ndani ya dock na kisha kutekeleza script yako mwenyewe:
Vichujio vya Rangi
Maelezo: https://theevilbit.github.io/beyond/beyond_0017
Inatumika kukiuka sanduku la mchanga: 🟠
Hatua maalum sana inahitajika kutokea
Utamaliza katika sanduku lingine la mchanga
Kukiuka TCC: 🔴
Mahali
/Library/ColorPickers
Inahitaji mizizi
Kichocheo: Tumia kichujio cha rangi
~/Library/ColorPickers
Kichocheo: Tumia kichujio cha rangi
Maelezo na Kudukua
Kusanya kifurushi cha kichujio cha rangi na nambari yako (unaweza kutumia hii kwa mfano) na ongeza konstrukta (kama katika Sehemu ya Skrini ya Kuficha) na nakili kifurushi kwa ~/Library/ColorPickers
.
Kisha, wakati kichujio cha rangi kinachochujwa, programu yako inapaswa pia.
Tafadhali kumbuka kuwa binary inayoagiza maktaba yako ina mchanga wa kizuizi sana: /System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/LegacyExternalColorPickerService-x86_64.xpc/Contents/MacOS/LegacyExternalColorPickerService-x86_64
Vifaa vya Ufungaji wa Finder
Maelezo: https://theevilbit.github.io/beyond/beyond_0026/ Maelezo: https://objective-see.org/blog/blog_0x11.html
Inatumika kukiuka sanduku la mchanga: Hapana, kwa sababu unahitaji kutekeleza programu yako mwenyewe
Kukiuka TCC: ???
Mahali
Programu maalum
Maelezo & Kudukua
Mfano wa programu na Kifaa cha Ufungaji wa Finder unaweza kupatikana hapa.
Programu zinaweza kuwa na Vifaa vya Ufungaji wa Finder
. Kifaa hiki kitawekwa ndani ya programu ambayo itatekelezwa. Zaidi ya hayo, ili kifaa hicho kiweze kutekeleza nambari yake lazima iwe imesainiwa na cheti halali cha msanidi programu wa Apple, lazima iwe imesandukwa (ingawa maelewano yaliyorekebishwa yanaweza kuongezwa) na lazima iwe imeandikishwa na kitu kama:
Screen Saver
Maelezo: https://theevilbit.github.io/beyond/beyond_0016/ Maelezo: https://posts.specterops.io/saving-your-access-d562bf5bf90b
Inatumika kukiuka sanduku la mchanga: 🟠
Lakini utamaliza katika sanduku la maombi la kawaida
Kukiuka TCC: 🔴
Mahali
/System/Library/Screen Savers
Inahitaji mizizi
Kichocheo: Chagua skrini ya kupumzika
/Library/Screen Savers
Inahitaji mizizi
Kichocheo: Chagua skrini ya kupumzika
~/Library/Screen Savers
Kichocheo: Chagua skrini ya kupumzika
Maelezo & Kudukua
Unda mradi mpya katika Xcode na chagua kiolezo cha kuzalisha Screen Saver mpya. Kisha, weka kanuni yako, kwa mfano kanuni ifuatayo ya kuzalisha magogo.
Jenga hiyo, na nakili mfuko wa .saver
kwa ~/Library/Screen Savers
. Kisha, fungua GUI ya Skrini ya Kupumzika na ikiwa tu unabonyeza juu yake, inapaswa kuzalisha magogo mengi:
Tafadhali tambua kwamba kwa sababu ndani ya ruhusa za binary inayoendesha hii kanuni (/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex/Contents/MacOS/legacyScreenSaver
) unaweza kupata com.apple.security.app-sandbox
utakuwa ndani ya sanduku la kawaida la programu.
Msimbaji wa kanuni:
Vifaa vya Spotlight
maandishi: https://theevilbit.github.io/beyond/beyond_0011/
Inatumika kukiuka sanduku la mchanga: 🟠
Lakini utamaliza katika sanduku la programu
Kukiuka TCC: 🔴
Sanduku la mchanga linaonekana kuwa na mipaka sana
Mahali
~/Library/Spotlight/
Kichocheo: Faili mpya yenye kificho kinachosimamiwa na kifaa cha Spotlight inaundwa.
/Library/Spotlight/
Kichocheo: Faili mpya yenye kificho kinachosimamiwa na kifaa cha Spotlight inaundwa.
Inahitaji mizizi
/System/Library/Spotlight/
Kichocheo: Faili mpya yenye kificho kinachosimamiwa na kifaa cha Spotlight inaundwa.
Inahitaji mizizi
Some.app/Contents/Library/Spotlight/
Kichocheo: Faili mpya yenye kificho kinachosimamiwa na kifaa cha Spotlight inaundwa.
Programu mpya inahitajika
Maelezo & Utekaji
Spotlight ni kipengele cha utaftaji kilichojengwa ndani ya macOS, kimeundwa kutoa watumiaji na upatikanaji wa haraka na wa kina wa data kwenye kompyuta zao. Ili kurahisisha uwezo huu wa utaftaji wa haraka, Spotlight inaendeleza hifadhidata ya kipekee na kuunda indeksi kwa kuchambua faili nyingi, kuruhusu utaftaji wa haraka kupitia majina ya faili na maudhui yao.
Mfumo wa msingi wa Spotlight unajumuisha mchakato wa kati unaoitwa 'mds', ambao unamaanisha 'metadata server'. Mchakato huu unaratibu huduma nzima ya Spotlight. Kama nyongeza, kuna 'mdworker' daemons kadhaa ambao hutekeleza majukumu mbalimbali ya matengenezo, kama vile kuunda indeksi za aina tofauti za faili (ps -ef | grep mdworker
). Majukumu haya yanawezekana kupitia vifaa vya kuingiza vya Spotlight, au "mabandiko ya .mdimporter", ambayo huwezesha Spotlight kuelewa na kuunda indeksi ya maudhui katika anuwai ya muundo wa faili.
Vifaa au mabandiko ya .mdimporter yako katika maeneo yaliyotajwa hapo awali na ikiwa mabandiko mapya yanaonekana yanapakiwa ndani ya dakika (hakuna haja ya kuanzisha upya huduma yoyote). Mabandiko haya lazima yaeleze ni aina gani ya faili na nyongeza wanaweza kusimamia, kwa njia hii, Spotlight itavitumia wakati faili mpya yenye nyongeza iliyotajwa inapoundwa.
Inawezekana kupata mdimporters
zote zilizopakiwa kwa kukimbia:
Na kwa mfano /Library/Spotlight/iBooksAuthor.mdimporter hutumika kuchambua aina hizi za faili (nyongeza .iba
na .book
miongoni mwa zingine):
Ikiwa utachunguza Plist ya mdimporter
nyingine huenda usipate kuingia UTTypeConformsTo
. Hii ni kwa sababu ni Uniform Type Identifiers (UTI) iliyojengwa ndani na haitaji kutaja nyongeza.
Zaidi ya hayo, programu-jalizi za mfumo wa msingi daima zinapewa kipaumbele, hivyo mshambuliaji anaweza kupata ufikivu kwenye faili ambazo vinginevyo hazijachambuliwa na mdimporters
za Apple.
Ili kuunda chombo chako cha kuingiza unaweza kuanza na mradi huu: https://github.com/megrimm/pd-spotlight-importer na kisha badilisha jina, CFBundleDocumentTypes
na ongeza UTImportedTypeDeclarations
ili iweze kusaidia nyongeza unayotaka kusaidia na uwaonyeshe katika schema.xml
.
Kisha badilisha nambari ya kazi GetMetadataForFile
ili kutekeleza mzigo wako wakati faili yenye nyongeza iliyosindika inapoundwa.
Hatimaye jenga na nakili kuingiza mpya yako .mdimporter
kwa moja ya maeneo matatu ya awali na unaweza kuangalia wakati wowote inapopakiwa kwa kufuatilia magogo au kwa kuangalia mdimport -L.
Pane ya Mapendeleo
Haionekani kama hii inafanya kazi tena.
Maelezo: https://theevilbit.github.io/beyond/beyond_0009/
Mahali
/System/Library/PreferencePanes
/Library/PreferencePanes
~/Library/PreferencePanes
Maelezo
Haionekani kama hii inafanya kazi tena.
Kizuizi cha Mchanga cha Mzizi
Hapa unaweza kupata maeneo ya kuanzia yanayofaa kwa kuzidi sandbox ambayo inakuruhusu tu kutekeleza kitu kwa kuandika kwenye faili ukiwa mzizi na/au kuhitaji hali nyingine za ajabu.
Kipindi
Maelezo: https://theevilbit.github.io/beyond/beyond_0019/
Mahali
/etc/periodic/daily
,/etc/periodic/weekly
,/etc/periodic/monthly
,/usr/local/etc/periodic
Inahitaji kuwa mzizi
Kichocheo: Wakati unapofika
/etc/daily.local
,/etc/weekly.local
au/etc/monthly.local
Inahitaji kuwa mzizi
Kichocheo: Wakati unapofika
Maelezo & Utekaji
Skripti za kipindi (/etc/periodic
) zinatekelezwa kwa sababu ya daemons za kuanzisha zilizowekwa katika /System/Library/LaunchDaemons/com.apple.periodic*
. Tafadhali kumbuka kuwa skripti zilizohifadhiwa katika /etc/periodic/
zinatekelezwa kama mmiliki wa faili, hivyo haitafanya kazi kwa kubadilisha haki za mamlaka.
Kuna hati zingine za kipindi ambazo zitatekelezwa zilizoonyeshwa katika /etc/defaults/periodic.conf
:
Ikiwa utafanikiwa kuandika faili yoyote kati ya /etc/daily.local
, /etc/weekly.local
au /etc/monthly.local
itakuwa kutekelezwa mapema au baadaye.
Tafadhali kumbuka kwamba script ya kipindi itatekelezwa kama mmiliki wa script. Kwa hivyo ikiwa mtumiaji wa kawaida anamiliki script, itatekelezwa kama mtumiaji huyo (hii inaweza kuzuia mashambulizi ya uongezaji wa mamlaka).
PAM
Maelezo: Linux Hacktricks PAM Maelezo: https://theevilbit.github.io/beyond/beyond_0005/
Inatumika kwa kudukua sanduku la mchanga: 🟠
Lakini unahitaji kuwa na ruhusa ya mizizi (root)
Kudukua TCC: 🔴
Mahali
Mizizi (root) inahitajika daima
Maelezo na Udukuzi
Kwa kuwa PAM inazingatia zaidi udumu na zisizo za virusi kuliko utekelezaji rahisi ndani ya macOS, blogi hii haitatoa maelezo ya kina, soma maelezo kuelewa mbinu hii vizuri.
Angalia moduli za PAM na:
Kifanyaji cha kudumu/kupandisha mamlaka kwa kutumia PAM ni rahisi kama kubadilisha moduli /etc/pam.d/sudo kwa kuongeza mwanzoni mwa mstari:
Hivyo itaonekana kama hivi:
Na kwa hivyo jaribio lolote la kutumia sudo
litafanya kazi.
Tafadhali elewa kuwa saraka hii inalindwa na TCC hivyo ni uwezekano mkubwa kwamba mtumiaji atapata ombi la kupewa ruhusa.
Viplaga vya Idhini
Maelezo: https://theevilbit.github.io/beyond/beyond_0028/ Maelezo: https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65
Inatumika kukiuka sanduku la mchanga: 🟠
Lakini unahitaji kuwa na ruhusa ya msingi na kufanya mipangilio ya ziada
Kukiuka TCC: ???
Mahali
/Library/Security/SecurityAgentPlugins/
Inahitaji kuwa na ruhusa ya msingi
Pia ni muhimu kusanidi hifadhidata ya idhini kutumia programu-jalizi
Maelezo & Utekaji
Unaweza kuunda programu-jalizi ya idhini ambayo itatekelezwa wakati mtumiaji anapoingia ili kudumisha uthabiti. Kwa maelezo zaidi kuhusu jinsi ya kuunda moja ya programu-jalizi hizi angalia maelezo ya awali (na uwe mwangalifu, moja isiyoundwa vizuri inaweza kukufunga nje na utahitaji kusafisha Mac yako kutoka kwa hali ya kupona).
Hamisha mfungu wa programu hadi eneo litakalopakiwa:
Hatimaye ongeza kanuni ya kupakia Plugin hii:
evaluate-mechanisms
itawaambia mfumo wa idhini kwamba itahitaji kuita kifaa cha nje kwa idhini. Zaidi ya hayo, privileged
itahakikisha kuwa inatekelezwa na root.
Tumia hivi:
Na kisha kikundi cha wafanyakazi kinapaswa kuwa na upatikanaji wa sudo (soma /etc/sudoers
kuthibitisha).
Man.conf
Maelezo: https://theevilbit.github.io/beyond/beyond_0030/
Inatumika kwa kuzidi sandbox: 🟠
Lakini unahitaji kuwa na ruhusa ya mizizi na mtumiaji lazima tumie man
Kizuizi cha TCC: 🔴
Mahali
/private/etc/man.conf
Inahitaji mizizi
/private/etc/man.conf
: Wakati wowote man inapotumiwa
Maelezo & Utekaji
Faili ya usanidi /private/etc/man.conf
inaonyesha faili ya binary/script ya kutumia wakati wa kufungua nyaraka za man. Kwa hivyo njia ya kutekelezeka inaweza kubadilishwa ili wakati wowote mtumiaji anatumia man kusoma nyaraka baadhi ya mlango wa nyuma unatekelezwa.
Kwa mfano weka katika /private/etc/man.conf
:
Na kisha tengeneza /tmp/view
kama:
Apache2
Maelezo: https://theevilbit.github.io/beyond/beyond_0023/
Inatumika kukiuka sanduku la mchanga: 🟠
Lakini unahitaji kuwa na ruhusa ya msingi na apache inahitaji kuwa inaendeshwa
Kukiuka TCC: 🔴
Httpd haina ruhusa
Mahali
/etc/apache2/httpd.conf
Inahitaji ruhusa ya msingi
Kichocheo: Wakati Apache2 inaanza
Maelezo & Kudukua
Unaweza kuonyesha katika /etc/apache2/httpd.conf
ili kupakia moduli kwa kuongeza mstari kama huu:
Hivi ndivyo moduli zako zilivyopakiwa na Apache. Kitu pekee ni kwamba unahitaji kuisaini na cheti halali cha Apple, au unahitaji kuongeza cheti kipya cha kuaminika kwenye mfumo na kuisaini nacho.
Kisha, ikihitajika, ili kuhakikisha kuwa server itaanza unaweza kutekeleza:
Mfano wa nambari kwa Dylb:
Kitengo cha ukaguzi wa BSM
Maelezo: https://theevilbit.github.io/beyond/beyond_0031/
Inatumika kwa kuzidi sandbox: 🟠
Lakini unahitaji kuwa na ruhusa ya msingi, auditd iwe inafanya kazi na kusababisha onyo
Kizuizi cha TCC: 🔴
Mahali
/etc/security/audit_warn
Inahitaji ruhusa ya msingi
Kichocheo: Wakati auditd inagundua onyo
Maelezo na Utekaji
Kila wakati auditd inagundua onyo, hati /etc/security/audit_warn
ina kutekelezwa. Kwa hivyo unaweza kuongeza mzigo wako kwenye hiyo.
Unaweza kulazimisha onyo na sudo audit -n
.
Vipengele vya Kuanza
Hii imepitwa na wakati, kwa hivyo hakuna kitu kinapaswa kupatikana katika saraka hizo.
StartupItem ni saraka ambayo inapaswa kuwekwa ndani ya /Library/StartupItems/
au /System/Library/StartupItems/
. Mara tu saraka hii inapoanzishwa, lazima ijumuishe faili mbili maalum:
rc script: Skripti ya shell inayotekelezwa wakati wa kuanza.
Faili ya plist, iitwayo
StartupParameters.plist
, ambayo ina mipangilio mbalimbali ya usanidi.
Hakikisha kwamba skripti ya rc na faili ya StartupParameters.plist
zimewekwa kwa usahihi ndani ya saraka ya StartupItem ili mchakato wa kuanza uweze kuzitambua na kuzitumia.
emond
Sijaweza kupata sehemu hii kwenye macOS yangu kwa habari zaidi angalia andiko
Andiko: https://theevilbit.github.io/beyond/beyond_0023/
Kuletwa na Apple, emond ni mfumo wa kuingiza taarifa ambao unaonekana kutokuwa umekamilika au labda umeachwa, lakini bado unapatikana. Ingawa sio hasa faida kwa msimamizi wa Mac, huduma hii isiyoeleweka inaweza kutumika kama njia ya kudumu kwa waendeshaji wa vitisho, labda bila kugunduliwa na wengi wa wasimamizi wa macOS.
Kwa wale wanaofahamu uwepo wake, kutambua matumizi mabaya yoyote ya emond ni rahisi. LaunchDaemon ya mfumo kwa huduma hii inatafuta hati za kutekelezwa kwenye saraka moja. Ili kuangalia hili, amri ifuatayo inaweza kutumika:
XQuartz
Maelezo: https://theevilbit.github.io/beyond/beyond_0018/
Mahali
/opt/X11/etc/X11/xinit/privileged_startx.d
Inahitaji mizizi
Kichocheo: Pamoja na XQuartz
Maelezo & Kudukuliwa
XQuartz haipo tena imewekwa kwenye macOS, kwa hivyo ikiwa unataka maelezo zaidi angalia maelezo.
kext
Ni ngumu sana kufunga kext hata kama mizizi hivyo sitazingatia hii kutoroka kutoka kwa mchanga au hata kwa uthabiti (isipokuwa una shambulio)
Mahali
Ili kufunga KEXT kama kipengee cha kuanza, inahitaji kuwa imefungwa kwenye mojawapo ya maeneo yafuatayo:
/System/Library/Extensions
Faili za KEXT zilizojengwa kwenye mfumo wa uendeshaji wa OS X.
/Library/Extensions
Faili za KEXT zilizofungwa na programu ya tatu
Unaweza kuorodhesha faili za kext zilizopakiwa kwa sasa na:
Kwa maelezo zaidi kuhusu vifaa vya msingi vya kernel angalia sehemu hii.
amstoold
Maelezo: https://theevilbit.github.io/beyond/beyond_0029/
Mahali
/usr/local/bin/amstoold
Inahitaji ruhusa ya Root
Maelezo & Utekaji
Inaonekana kwamba plist
kutoka /System/Library/LaunchAgents/com.apple.amstoold.plist
ilikuwa ikitumia binary hii wakati inafunua huduma ya XPC... swala ni kwamba binary haikuwepo, hivyo ungeweza kuweka kitu pale na wakati huduma ya XPC inaitwa binary yako itaitwa.
Sikuweza tena kupata hii kwenye macOS yangu.
xsanctl
Maelezo: https://theevilbit.github.io/beyond/beyond_0015/
Mahali
/Library/Preferences/Xsan/.xsanrc
Inahitaji ruhusa ya Root
Kichocheo: Wakati huduma inapoendeshwa (kwa nadra)
Maelezo & utekaji
Inaonekana sio kawaida sana kuendesha script hii na hata sikuiweza kwenye macOS yangu, hivyo kama unataka maelezo zaidi angalia maelezo.
/etc/rc.common
Hii haifanyi kazi katika toleo za kisasa za MacOS
Pia niwezekano wa kuweka hapa maagizo ambayo yataendeshwa wakati wa kuanza. Mfano wa script ya kawaida ya rc.common:
Mbinu na zana za Ushikiliaji
Last updated