Domanda:
Autorizzazioni per le voci / dev
lumpynose
2013-03-06 05:57:58 UTC
view on stackexchange narkive permalink

Sto aspettando il mio Pi. Dalla lettura dei tutorial e dei libri su come eseguire i / o sul Pi, ho l'impressione che Linux inserisca le voci in / dev al volo, il che è carino, ma sono di proprietà di qualcuno diverso dall'utente pi. C'è un modo per fare in modo che Linux renda le voci / dev scrivibili o possedute da pi?

Dovresti chiarire quale scopo hai per volere che l'utente pi abbia il permesso di scrittura sui nodi dev, altrimenti questo si legge semplicemente come qualcosa che qualcuno potrebbe dire se stessero solo imparando Linux ma non capissero veramente di cosa tratta un nodo dev. Per chiarire: potrebbe esserci qualche ragione legittima per farlo, ma in generale * non c'è *, quindi o hai bisogno di una risposta che spieghi perché non c'è, oppure una risposta che spieghi come fare ciò che vuoi (ma per quello, devi spiegare cosa vuoi fare). Quindi, risparmia a tutti un po 'di tempo, "Non intendevo quello", ecc. E * chiarisci *.
Scusa, pensavo fosse ovvio; tutti gli esempi di programmazione che eseguono i / o con i pin vengono eseguiti con sudo. Preferisco eseguirli come utente pi e non come root.
Va bene. Ho aggiunto una risposta quindi;)
Due risposte:
#1
+11
goldilocks
2013-03-06 19:22:04 UTC
view on stackexchange narkive permalink

Puoi modificare i permessi su un nodo del dispositivo utilizzando chmod , ad esempio:

  chmod g + rw / dev / any  

Questo aggiunge i permessi di lettura / scrittura per il gruppo che possiede "qualunque cosa". Molte cose in / dev sono uid e gid 0 (root del proprietario, root del gruppo) ma alcune cose hanno un gruppo separato come 'video' o 'disk', e quando questo è il caso, il gruppo avrà già lettura e scrittura autorizzazioni sul nodo. Quindi, prima controlla se il nodo che ti interessa è così:

  stat -c "% A% G" / dev / qualunque  

Se quindi, aggiungi semplicemente l'utente pi a quel gruppo. Se il gruppo si chiama "mydevice":

  usermod -a -G mydevice pi  

Fatto. Se il nodo non appartiene a un gruppo speciale, puoi crearne uno:

  addgroup mydevice  

Nota su alcune distribuzioni questo comando è groupadd . Ora chown il dispositivo in quel gruppo e modifica i permessi:

  chown root.mydevice / dev / anychmod g + rw / dev / any  

Quindi aggiungi l'utente pi al gruppo. Il nuovo gruppo e l'appartenenza dell'utente pi ad esso sono permanenti (fino a quando non vengono modificati di nuovo). Tuttavia, i nodi dev vengono effettivamente creati all'avvio, quindi qualsiasi modifica apportata ad essi non persisterà. Puoi renderlo permanente aggiungendo una regola udev . Crea un file di testo in /etc/udev/rules.d chiamato mydevice.rules (o qualsiasi cosa con il suffisso .rules ) e aggiungi una regola:

  KERNEL == "qualunque", NAME = "% k", GROUP = "mydevice", MODE = "0660"  

Attenzione alla differenza tra == e = there . Ecco una guida (leggermente datata) alle regole di udev, la maggior parte della quale sembra essere ancora valida.

Eccellente grazie. Le regole di Udev mi sembrano la soluzione.
Eccezionale! Per gli altri che inciampano, il comando potrebbe essere qualcos'altro per aggiungere un gruppo. Per arch linux, è risultato essere [groupadd] (https://wiki.archlinux.org/index.php/Users_and_groups#Group_management). Controlla i tuoi documenti di distribuzione.
#2
  0
Adarsha
2017-07-19 03:35:42 UTC
view on stackexchange narkive permalink

Nell'ultima Jessie il gruppo di cui l'utente deve far parte è gpio , quindi sudo usermod -a -G gpio <user name> ha fatto la magia per me.



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...