Cambiare nome utente
Inviato: ven 19 gen 2007, 14:50
C'è un modo per cambiare nome a un utente
lasciando invariata la home ecc ecc?
Grazie
M.
lasciando invariata la home ecc ecc?
Grazie
M.
Codice: Seleziona tutto
usermod -l vecchio_nome nuovo_nomeCodice: Seleziona tutto
root@darkstar:~# usermod -l samiel2 samiel
usermod: user samiel2 exists
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à.
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
Codice: Seleziona tutto
usermod -l nuovo_nome nomesi, ma anche qualunque altra cosa, ma come si fa??_NYTRO_ ha scritto:Ti piacerebbe se apparisse "God" eh?!![]()
Ora non sono a casa, poi provo..
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
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`Codice: Seleziona tutto
if [ $name == "root" ]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??
a cosa ti riferisci??Paoletta ha scritto: P.S. occhio che non gestisce i parametri del vero whoami..va completato
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`Codice: Seleziona tutto
name=`/bin/whoami 2>&1`Codice: Seleziona tutto
echo "$name"
Codice: Seleziona tutto
echo $name
Codice: Seleziona tutto
#!/bin/bash
name=`/bin/whoami $1 $2 2>&1`
if [ "$name" == "root" ];then
echo God
else
echo "$name"
fi
Codice: Seleziona tutto
# whoami
rootCodice: Seleziona tutto
# which whoami
/bin/whoamiIl 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??
Codice: Seleziona tutto
echo $PATHCodice: Seleziona tutto
alias whoami='/usr/local/bin/whoami'Codice: Seleziona tutto
man bashCodice: Seleziona tutto
$ su -
Password
# whoami
God