Domanda:
Posso creare le mie estensioni del kernel su El Capitan?
iProgram
2015-06-13 21:21:23 UTC
view on stackexchange narkive permalink

Ho sentito di recente che una funzionalità chiamata rootless sarà disponibile su El Capitan. Ciò significa che cartelle come / System non possono essere modificate dall'utente root e solo kext firmato (estensioni del kernel) può essere installato sul computer.

Non ci ho pensato prima ma ora vorrei creare le mie estensioni per kext. L'unico problema è che non sono uno sviluppatore a pagamento, quindi non posso firmare le mie estensioni kext.

Quando eseguo l'aggiornamento a El Capitan sarei in grado di creare con i miei kext e installarli sul mio sistema mentre in grado di avviare il mio computer e non dover partecipare al programma per sviluppatori Apple $ 99 / anno?

-1 per ora - le restrizioni sul kext firmato richiedono una citazione e cosa stai veramente cercando di fare?Riguarda il modo in cui intendi distribuire un kext o semplicemente un putz con estensioni sul tuo sviluppo o testo?
Tre risposte:
tubedogg
2015-06-15 14:08:44 UTC
view on stackexchange narkive permalink

Rootless può essere completamente disabilitato su OS X El Capitan (anche se non su iOS, per ovvie ragioni). Pertanto, se non ti dispiace rinunciare ai vantaggi apparenti che fornisce, puoi essenzialmente tornare al modello di sicurezza di Yosemite - vale a dire, è possibile utilizzare kext non firmati, ma richiede la preparazione per farlo.

potrebbe non essere possibile disabilitare nelle versioni future del sistema operativo, ma per ora può essere disattivato.

Quindi lo disabilito semplicemente usando il comando `sudo nvram boot-args =" rootless = 0 "; sudo reboot`?Questo comprometterebbe la mia sicurezza o no?Quanto è necessaria questa funzionalità senza root?
Non è se disabilitare Rootless comprenda la sicurezza a titolo definitivo;è se valgono i compromessi.Se non apri allegati o collegamenti e-mail sconosciuti, non visitare siti Web che potrebbero tentare di installare malware, scaricare e installare solo software attendibili, ecc., Potrebbe non interessarti.È un altro livello di sicurezza che ogni utente deve decidere da solo se è necessario nel loro particolare insieme di circostanze.
-1 Non è chiaro se rootless sarà opzionale, né su El Capitan né su nessuna delle seguenti versioni.
C'è una voce nel menu Utilità all'avvio in Recovery (a quanto ho capito) che ti consente di disabilitarlo.[Ars] (http://arstechnica.com/apple/2015/06/preview-os-x-el-capitans-first-beta-is-a-promising-heap-of-refinements/4/) ha uno screenshotdel dialogo.D'accordo che non ci sono promesse che non diventerà obbligatorio in futuro, ma può essere disabilitato a El Capitan.
Anche se diventasse "obbligatorio", come la firma di kext in Yosemite, sarei molto sorpreso se non ci fosse un modo per le persone che volevano davvero disabilitarlo, ancora una volta come la firma di kext in Yosemite.
Sia chiaro: è facoltativo solo in una pre-release non pubblica.Non si sono mai impegnati in questa soluzione alternativa.Non hanno alcun incentivo a consentire kext non firmati;infatti, hanno solo un incentivo negativo.
Non ho mai detto che hanno un incentivo a consentire i kext non firmati.Eppure l'opzione per farlo persiste, 4 versioni pubbliche nella disponibilità generale di Yosemite.Per quanto riguarda il rootless, Apple ha dimostrato come disabilitarlo durante una sessione sulla sicurezza al WWDC.Dubito che lo farebbero se non intendessero lasciarlo come opzione.
@ChrisHarrington Ho letto che puoi disabilitare rootless eseguendo `sudo nvram boot-args =" rootless = 0 "; sudo reboot`
Vaseltior
2015-10-07 13:33:57 UTC
view on stackexchange narkive permalink

Riavvia la macchina in modalità di ripristino: tieni premuto cmd+r

Quindi avvia il terminale e disattiva lo stato di protezione dell'integrità del sistema inserendo quanto segue riga di comando:

  $ csrutil disable  

Questa è una configurazione non supportata, probabilmente si interromperà in futuro e lascerà la tua macchina in uno stato sconosciuto.

Ma il tuo kext non firmato verrà caricato

Dovrebbe leggere "disabilita", invece di "disabilita".
Chris Harrington
2015-06-13 22:27:09 UTC
view on stackexchange narkive permalink

Il tuo computer sarà sempre in grado di avviarsi con o senza kext non firmati (beh, cioè, supponendo che non forniscano alcune funzioni critiche per l'avvio come un driver SATA per il tuo disco di avvio). Se il tuo computer sarà ancora utile dopo l'avvio senza un kext non firmato, ovviamente dipende dalla natura dell'estensione.

Al WWDC 2013, c'era una presentazione su kext sviluppo molto esplicito: la firma è supportata e deselezionata nella 10.8, selezionata ma non applicata nella 10.9 e obbligatoria "in futuro".

La firma richiede un'identità di sviluppatore e un'identità di sviluppatore richiede un'iscrizione attiva all'Apple Developer Program.

Quindi, in risposta alla tua domanda: No, non sarai in grado di sviluppare e caricare kext sulle prossime versioni di OS X senza essere un membro ADP.

Apple ha una sezione sul proprio sito web per sviluppatori dedicata agli argomenti sulla firma del codice.

Quindi vuoi dire che non ha senso che io impari a fare i kext, allora?Sarei in grado di avviare in modalità utente singolo ed eliminare kext se non posso utilizzare il mio computer poiché può ancora avviarsi?
Non direi che non ha senso.Per $ 99 all'anno, potresti facilmente recuperare i costi in termini di maggiore produttività o di un prodotto commerciabile.
In termini di possibilità di avvio in modalità utente singolo, direi che probabilmente non è necessario a meno che qualcosa sul tuo kext non stia effettivamente rompendo il tuo Mac.Ma per rispondere letteralmente alla tua domanda, sì;quando crei un kext devi specificare quanto è "critico" il tuo kext, e solo alcuni livelli di "critico" vengono caricati in modalità Utente singolo.
Supponiamo che non sia un costo troppo negativo.Ho capito (se ho fatto i miei calcoli correttamente) se avessi rilasciato un'applicazione oggi e addebitato $ 0,99 per essa e ottenuto 1 download al giorno, avrei recuperato i miei $ 99 entro il 21 settembre.Non male davvero.L'unico problema è che non sono molto creativo.Forse potrei copiare qualche idea e modificare bit dato che ci sono un sacco di imitazioni nell'App Store.Sarebbe giusto farlo?Inoltre con xCode 7 ora puoi testare la tua applicazione senza essere uno sviluppatore.Questo sarebbe un buon modo per testare!
@iProgram Il test della tua applicazione non ha mai richiesto un account sviluppatore su Mac, restrizioni applicate solo per iOS
@LaX Intendevo iOS.Scusate.Penso che il mercato iOS fosse più grande.
Anche lo sviluppo iOS non richiede più un account sviluppatore.L'hanno appena annunciato.Nota che ora stiamo discutendo di app e non di kext, come la tua domanda originale ...
"No, non sarai in grado di sviluppare e caricare kext nelle prossime versioni di OS X senza essere un membro di ADP."Oltre al fatto che non puoi vedere nel futuro, lo status quo è che non puoi caricare kext non firmati _ per impostazione predefinita_, ma quella restrizione può essere disabilitata in Yosemite, e finora anche in El Capitan.Quindi questa affermazione è falsa, almeno senza riserve.
@tubedogg Tranne che tutto ciò che ho scritto è qualificato da dichiarazioni di Apple.Ad esempio, guarda la presentazione WWDC che ho collegato.
Ad un certo punto il caricamento di kext non firmati potrebbe essere assolutamente disabilitato dal sistema.Allo stato attuale, il caricamento di kext non firmati può essere eseguito modificando un'impostazione di avvio.La tua dichiarazione sulle "versioni imminenti" potrebbe essere accurata, ma quelle versioni imminenti potrebbero essere 10 anni da adesso, oppure Apple avrebbe potuto significare "obbligatorio tranne per utenti esperti che cambiano l'impostazione di avvio".Il semplice fatto di affermare "versioni imminenti" in risposta specifica a una domanda su El Capitan è fuorviante nella migliore delle ipotesi, soprattutto perché nella beta attuale è ancora possibile caricarle.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...