"su" e "su -"

12 contenuti / 0 new
Ultimo contenuto
Ritratto di ipcress
Offline
Last seen: 11 anni 3 mesi fa
Iscritto: 01/09/2011 - 11:40
"su" e "su -"

Ciao

In Mandriva e in molte altre distro per diventare root occorre dare il comando "su" ma, postponendo uno spazio e un trattino si ottiene "su -", con il quale si riesce per esempio a lanciare da terminale programmi ad interfaccia grafica (Kwrite per dirne uno).
Ho provato a dare "su -" e il terminale ha risposto "su: l'utente - non esiste" :?

Con PCLOS come ci si comporta?

Grazie.

Ritratto di zafran
Offline
Last seen: 8 mesi 3 settimane fa
Moderatore
Iscritto: 16/06/2008 - 16:10

Io pensavo di seguire l'unica via possibile o almeno la più semplice ma se ne impara sempre una nuova. Io ho sempre fatto:
da utente
$ xhost +
e anche root può lanciare la X.

Ritratto di ipcress
Offline
Last seen: 11 anni 3 mesi fa
Iscritto: 01/09/2011 - 11:40

Non ho mai usato il comando xhost. Dando un'occhiata al suo man, mi sbaglierò ma non mi sembra sia quello a cui stavo pensando.

Mi chiedevo se anche PCLOS ha due livelli di "su", come ho visto esistere in molte altre distro.

Ritratto di zafran
Offline
Last seen: 8 mesi 3 settimane fa
Moderatore
Iscritto: 16/06/2008 - 16:10

Allora non ho capito cosa cercavi

DESCRIZIONE
Il programma xhost. E' utilizzato per aggiungere e cancellare nomi di host o nomi di utente dalla lista abilitata a connettersi al server X. [..]

OPZIONI
Xhost accetta le seguenti opzioni [..]
Per sicurezza, le opzioni che effettuano il controllo di accesso possono essere avviate solo dal "host di controllo". Per le workstation, questo è la stessa macchina server. Per terminali X, è l'host di login.
+ L'accesso è possibile per chiunque, anche se non presente nell'elenco (ovvero il controllo degli accessi è disabilitato).

Più di così..

Ritratto di ipcress
Offline
Last seen: 11 anni 3 mesi fa
Iscritto: 01/09/2011 - 11:40

Ciao zafran

Il problema a cui mi riferivo era la necessità o meno di utilizzare un particolare comando per avviare (come root) un'applicazione grafica.
Faccio un esempio con Ubuntu, che ho utilizzato per alcuni anni.
Se, fatto il login come normale utente, ho necessità di dare un comando come root (per esempio, per verificare le regole applicate a iptables), apro il terminale e digito

sudo iptables -L

Analogamente, se ho intenzione di modificare /etc/fstab utilizzando un editor non grafico come Nano o Vim apro il terminale e digito

sudo nano /etc/fstab

Invece, se ho intenzione di modificare /etc/fstab utilizzando un editor grafico come Gedit devo digitare

gksudo gedit /etc/fstab

Certo, la situazione di Ubuntu è un po' particolare perché di default non è attivato il "su" e pertanto ogni comando dato come root deve essere accompagnato dal "sudo" o dal "gksudo". Ma, facendo un altro esempio con Mandriva, che ha un'impostazione simile a quella di PCLOS, i comandi indicati nell'esempio precedente risulterebbero:


$ su
# vim /etc/fstab


$ su -
# kwrite /etc/fstab

In altre parole, se in Mandriva diventassi root con il semplice "su" anziché con "su -" non potrei aprire fstab usando un editor grafico come Kwrite.
Tra l'altro, diventando root con "su" il terminale si posiziona nella home dell'utente, mentre diventando root con "su -" il terminale si posiziona nella home di root.

Pensavo che la stessa situazione si verificasse anche con PCLOS, ho provato a digitare "su -" e ho ottenuto come risposta "su: l'utente - non esiste".
Adesso ho provato a usare semplicemente il "su" e il sistema mi ha permesso senza difficoltà di aprire /etc/fstab con Kwrite, pertanto credo che il problema si sia risolto da solo: in PCLOS questa distinzione non esiste. Infatti, in PCLOS con il "su" il terminale si posiziona nella home di root (come farebbe in Mandriva se usassi "su -").

Ciao, e grazie. Smile

Ritratto di plot
Offline
Last seen: 10 anni 10 mesi fa
Iscritto: 06/09/2011 - 19:29

Ciao ipcress

Sull'uso di su conosco queste due regole che ho riscontrato essere valide su tutti i sistemi unix che ho utilizzato nel tempo

su utente_da_diventare

oppure

su - utente_da_diventare

la differenza di queste due sintassi sta nel fatto che nel primo caso rimango nella directory corrente prendendo i privilegi del nuovo utente, nel secondo caso oltre ad ottenere i priviliegi / svantaggi del nuovo utente mi posiziono anche nella sua home.

Questo principio si applica anche all'utente root.

$ su root

$ su - root

Non so se questo esaurisce la tua domanda.

un saluto. Smile

Ritratto di ipcress
Offline
Last seen: 11 anni 3 mesi fa
Iscritto: 01/09/2011 - 11:40

Ciao plot

La tua esperienza corrisponde alla mia, ma nel caso di pclos il nostro discorso sembra non valere.
Infatti al comando:

$ su - root

così come al comando che da' root come sottinteso:

$ su -

si ottiene in risposta

su: l'utente - non esiste

Mentre con il comando

$ su root

così come con il comando:

$ su

si diventa root e il terminale si posiziona nella home di root.

Ritratto di zafran
Offline
Last seen: 8 mesi 3 settimane fa
Moderatore
Iscritto: 16/06/2008 - 16:10

C'è qulacosa che non torna perché a me il comportamento risulta diverso:

«su» non accede a X e resta dov'è
«su -» accede a X e va nella home di root

Cioè sembra che «su -» attivi anche una specie di «xhost +» che però non viene annullato da «xhost - root».

Qui si fermano le mie prove e la mia comprensione anche perché adesso kwrite lanciato da shell di root prima dice di essere crashato poi apre una finestra di errore dalla quale riavviando il programma lo si può aprire effettivamente ma con la finestra di errore che rimane aperta.
Quindi un bug che per quanto trascurabile conferma che qualcosa non funziona come dovrebbe.

Ritratto di zafran
Offline
Last seen: 8 mesi 3 settimane fa
Moderatore
Iscritto: 16/06/2008 - 16:10

La soluzione offerta dalla shell (di lanciare d-bus tramite export) è vero che permette a root di invocare la X ma in due pc che ho provato lo fa in modo molto lento.

Quindi insisto a pensare che la cosa migliore per avere la X di root sia sempre:

$ xhost +
$ su
# comando

Ritratto di ernstfree
Offline
Last seen: 5 anni 10 mesi fa
Iscritto: 09/08/2011 - 16:02

Io, banalmente, ho sempre usato su Mandriva, se uso applicazioni grafiche, "su -" , in PClinuxOS solo "su" in ogni caso (credo sia una scelta di preticità degli sviluppatori ...). La home risulta comunque essere quella di root.

hellraiser (non verificato)
Ritratto di hellraiser

in effetti, "sudo" in pclinuxos non è preinstallatoinstallato, al posto di usare la classica sintassi:

sudo apt-get install nomepacchetto

bisognerà fare

su
(chiede la password, inserirla)

il prompt mostrerà il carattere # segno che ora si e root

fare quello che bisogna fare come root

alla fine digitare "exit"

edi il prompt ritornerà a mostrare il consueto carattere $ dell utente standard

penso questa sia la procedura "standard" (almeno per un uso da terminale in un DE) prevista in pclinuxos per utilizzare comandi che richiedono di acquisirei privilegi di root, apparte qunato già detto in precedenza.
???

hellraiser (non verificato)
Ritratto di hellraiser

plot wrote:
Ciao ipcress

Sull'uso di su conosco queste due regole che ho riscontrato essere valide su tutti i sistemi unix che ho utilizzato nel tempo

su utente_da_diventare

oppure

su - utente_da_diventare

la differenza di queste due sintassi sta nel fatto che nel primo caso rimango nella directory corrente prendendo i privilegi del nuovo utente, nel secondo caso oltre ad ottenere i priviliegi / svantaggi del nuovo utente mi posiziono anche nella sua home.

Questo principio si applica anche all'utente root.

$ su root

$ su - root

Non so se questo esaurisce la tua domanda.

un saluto. :-)

Dunque, per quel cho ho capito la differenza tra su e su - in linux è che l'argomento - dice a su di lanciare la shell del nuovo utente come una shell di login, cosicchè vengano letti i files di startup del nuovo utente e crei una ambiente simile a quello in cui il nuovo utente si troverebbe a lavorare facendo un login nel sistema.