Cambiare nome utente
Moderatore: Staff
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Cambiare nome utente
lasciando invariata la home ecc ecc?
Grazie
M.
il comando mi sembra sia
Codice: Seleziona tutto
usermod -l vecchio_nome nuovo_nome-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
perché volevo cambiare samiel2 in samiel
ma mi dice:
Codice: Seleziona tutto
root@darkstar:~# usermod -l samiel2 samiel
usermod: user samiel2 exists
ti cambia solo il nome dell'utente.
x poterlo modificare l'utente non deve essere loggato.
guarda le pagine man x maggiori info.# man usrmod
SINTASSI
usermod [-c commento] [-d home_dir [ -m]]
[-e data_scadenza] [-f tempo_inattività]
[-g gruppo_iniziale] [-G gruppo[,...]]
[-l nome_login] [-s shell]
[-u uid [ -o]] login
...
-d home_dir
La nuova directory di login dell'utente. Se è data l'opzione -m il contenuto
della home directory corrente sarà spostato nella nuova home directory,
che viene creata se non esiste già.
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
guarda che se volevi cambiare samiel2 in samiel devi invertire i 2 nomi nel comando...samiel ha scritto:Ma forse mi manca qualcosa,
perché volevo cambiare samiel2 in samiel
ma mi dice:Codice: Seleziona tutto
root@darkstar:~# usermod -l samiel2 samiel usermod: user samiel2 exists
la sintassi corretta è:
Codice: Seleziona tutto
usermod -l nuovo_nome nome- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
questo è un modo..._NYTRO_ ha scritto:Ti piacerebbe se apparisse "God" eh?!![]()
Ora non sono a casa, poi provo..
Codice: Seleziona tutto
#!/bin/bash
name=`/bin/whoami 2>&1`
if [ "$name" == "root" ];then
echo God
else
echo $name
fi
P.S. occhio che non gestisce i parametri del vero whoami..va completato
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
ma così non cambio realmente il nome, vero?? mi spieghi il passaggio:Paoletta ha scritto:questo è un modo..._NYTRO_ ha scritto:Ti piacerebbe se apparisse "God" eh?!![]()
Ora non sono a casa, poi provo..mettilo in /usr/local/bin e chiamalo whoamiCodice: Seleziona tutto
#!/bin/bash name=`/bin/whoami 2>&1` if [ "$name" == "root" ];then echo God else echo $name fi
P.S. occhio che non gestisce i parametri del vero whoami..va completato
Codice: Seleziona tutto
name=`/bin/whoami 2>&1`e poi se metto questo "whoami" in /usr/local/bin quello originale che è in /usr/bin non viene più letto??
Comunque giusto per la cronaca, ho fatto un pò di ricerche su zio google e in molti forum ho letto che per cambiare il nome di root basta editare /etc/passwd e /etc/shadow, solo che non ho molto chiari gli effetti collaterali che in molti hanno segnalato ma che nessuno si è fermato a spiegare, i programmi quando controllano chi li sta lanciando non guardano l'uid?? oppure può darsi che qualche programma faccia una cosa simile allo script di paoletta e controlli:
Codice: Seleziona tutto
if [ $name == "root" ]spero che qualcuno mi chiarisca questi dubbi...
- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
no, non cambi il nome...danix85 ha scritto:ma così non cambio realmente il nome, vero??
redirige stoutput e stderror in $namedanix85 ha scritto:fai una redirezione, ma a che cosa??Codice: Seleziona tutto
name=`/bin/whoami 2>&1`
viene letto prima lo scriptino (che invoca l'originale)danix85 ha scritto: e poi se metto questo "whoami" in /usr/local/bin quello originale che è in /usr/bin non viene più letto??
questo dipende dal programma...con lo script non corri il rischio di malfunzionamenti perchè in /etc/passwd tutto resta uguale (a meno che ci siano dei programmi che si basano su whoami, ma non credo, penso che il grosso di basi su getuid() o funzioni del genere...)danix85 ha scritto: i programmi quando controllano chi li sta lanciando non guardano l'uid??
P.S.dimenticavo, dopo aver creato il file, dagli i permessi adatti (755)
- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
a --version e --help; la cosa si può facilmente risolvere usando nello scriptinodanix85 ha scritto:a cosa ti riferisci??Paoletta ha scritto: P.S. occhio che non gestisce i parametri del vero whoami..va completato
Codice: Seleziona tutto
name=`/bin/whoami $1 2>&1`Codice: Seleziona tutto
name=`/bin/whoami $1 $2 2>&1`al posto di
Codice: Seleziona tutto
name=`/bin/whoami 2>&1`Codice: Seleziona tutto
echo "$name"
Codice: Seleziona tutto
echo $name
ecco la versione completa
Codice: Seleziona tutto
#!/bin/bash
name=`/bin/whoami $1 $2 2>&1`
if [ "$name" == "root" ];then
echo God
else
echo "$name"
fi
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Codice: Seleziona tutto
# whoami
rootinoltre con lo script in /usr/local/bin ho provato a dare:
Codice: Seleziona tutto
# which whoami
/bin/whoami- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Il percorso di ricerca di un binario (programma) o altri file eseguibili è speficato dalla variabile d'ambiente PATH.danix85 ha scritto:...quindi va sempre a leggere quello originale in /bin, mi sapete dire come mai??
Dai un
Codice: Seleziona tutto
echo $PATHLa shell, in questo caso la Bourne-Again SHell, per gli amici bash, controlla, per come sono scritte nel PATH tutte le directory ad una ad una e, non appena trova il binario che gli hai chiesto, lo esegue.
Se vuoi quindi che venga lanciato prima lo script dell'originale devi far si che lo script sia collocato in una directory del PATH prima di quella /bin.
Alternativamente puoi impostare un alias per la shell come segue:
Codice: Seleziona tutto
alias whoami='/usr/local/bin/whoami'Codice: Seleziona tutto
man bashSpina
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
grazie per il chiarimento
[EDIT]
creato alias per la shell come da suggerimento...
Codice: Seleziona tutto
$ su -
Password
# whoami
God

