View previous topic :: View next topic |
Author |
Message |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 12:01 pm Post subject: [help] modificare il path di root e di user |
|
|
salve sono nuovo del forum e ho appena istallato gentoo 2006.1. Qualche problemino qua e la, ma devo dire che molti la paventavano + del dovuto. Non sono esperto, ma molte cose funzionano o sono riuscito a farle funzionare.
Ma veniamo al topic: ho bisogno di modificare il PATH in modo che la modifica si rifletta sia su root che sugli altri utenti. Ho letto sulla guida il discorso sulla dir /etc/env.d ma non ho capito quale sarebbe il file che contiene il PATH di base. Per capirci mi serve di aggiungere il . (dir corrente) nel path in modo da far partire gli script sh che creo senza bisogno del ./ .
Help me plz
tnx _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
MeMyselfAndI l33t


Joined: 15 Nov 2005 Posts: 784 Location: Between the monitor and the chair
|
Posted: Sat Oct 28, 2006 12:14 pm Post subject: |
|
|
credo che basti aggiungere un file e settare la varibile path con le aggiunte che vuoi fare; ci pensera' poi env-update a fare il merge di tutte le variabili che trova li dentro. |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 12:35 pm Post subject: |
|
|
gia' fatto, funziona per gli utenti ma non per root... _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Oct 28, 2006 12:41 pm Post subject: |
|
|
sanzo77 wrote: | gia' fatto, funziona per gli utenti ma non per root... |
per root usa la variabile ROOTPATH (all'interno dei file in /etc/env.d). _________________ Running Fast! |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 12:44 pm Post subject: |
|
|
oook grazie mille, lo faccio subito tnx
niente da fare... root non ne vuole sapere...
ma forse ho sbagliato io :
io ho creato un file /etc/env.d/99mine con all'interno:
Code: |
PATH="."
ROOTPATH="."
|
ora se faccio export $ROOTPATH ottengo tutto sto popo' di roba:
Code: |
declare -x ANT_HOME="/usr/share/ant-core"
declare -x CLASSPATH="."
declare -x COLORTERM="gnome-terminal"
declare -x CONFIG_PROTECT="/usr/share/X11/xkb /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config"
declare -x CONFIG_PROTECT_MASK="/etc/java-config/vms/ /etc/env.d/java/ /etc/gconf /etc/terminfo"
declare -x CVS_RSH="ssh"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-8lpcIzGIjs,guid=6b534345509a02c36c504871e9460900"
declare -x DESKTOP_SESSION="gnome"
declare -x DESKTOP_STARTUP_ID=""
declare -x DISPLAY=":0.0"
declare -x EDITOR="/bin/nano"
declare -x GDK_USE_XFT="1"
declare -x GDMSESSION="gnome"
declare -x GDM_XSERVER_LOCATION="local"
declare -x GENERATION="2"
declare -x GNOME_DESKTOP_SESSION_ID="Default"
declare -x GNOME_KEYRING_SOCKET="/tmp/keyring-0jf4jR/socket"
declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/sanzo/.gtkrc-1.2-gnome2"
declare -x G_BROKEN_FILENAMES="1"
declare -x G_FILENAME_ENCODING="UTF-8"
declare -x HOME="/root"
declare -x INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu
/4.1.1/info:/usr/share/info/emacs-21"
declare -x JAVAC="/home/sanzo/.gentoo/java-config-2/current-user-vm/bin/javac"
declare -x JAVA_HOME="/home/sanzo/.gentoo/java-config-2/current-user-vm"
declare -x JDK_HOME="/home/sanzo/.gentoo/java-config-2/current-user-vm"
declare -x KDEDIRS="/usr"
declare -x LESS="-R -M --shift 5"
declare -x LESSOPEN="|lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;
33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:
ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:
*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:
*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;
35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;
35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;
35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;
35:*.xcf=01;35:*.xwd=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;
32:*.doc=00;32:*.flac=01;35:*.mp3=01;35:*.mpc=00;36:*.ogg=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.flac=00;36:*.aac=00;36:"
declare -x MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man:/
usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/qt/3/doc/man"
declare -x OLDPWD
declare -x OPENGL_PROFILE="xorg-x11"
declare -x PAGER="/usr/bin/less"
declare -x PATH="/sbin:/bin:/usr/sbin:/usr/bin"
declare -x PRELINK_PATH_MASK="/usr/lib/gstreamer-0.10"
declare -x PWD="/home/sanzo"
declare -x PYTHONPATH="/usr/lib/portage/pym"
declare -x QMAKESPEC="linux-g++"
declare -x QTDIR="/usr/qt/3"
declare -x SESSION_MANAGER="local/gentoomith:/tmp/.ICE-unix/10430"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x SSH_AGENT_PID="10450"
declare -x SSH_AUTH_SOCK="/tmp/ssh-fozNM10430/agent.10430"
declare -x TERM="xterm"
declare -x USER="root"
declare -x USERNAME="sanzo"
declare -x VMHANDLE="blackdown-jdk-1.4.2"
declare -x WINDOWID="35651665"
declare -x XAUTHORITY="/root/.xauth8NUnpC"
|
mentre se invece faccio export $PATH da root ottengo :
Code: |
bash: export: `/sbin:/bin:/usr/sbin:/usr/bin': not a valid identifier
|
se lo faccio da user :
Code: |
bash: export: `/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.1:/opt/blackdown-jdk-1.4.2.03/bin:
/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:.': not a valid identifier
|
non riesco a capire a questo punto se forse la variabile ROOTPATH dovrei dichiararla in un altro modo... _________________ emh... scusa... ma tu ce lo hai google su quel computer???
Last edited by sanzo77 on Sat Oct 28, 2006 3:33 pm; edited 1 time in total |
|
Back to top |
|
 |
bender86 Guru


Joined: 18 Mar 2005 Posts: 484
|
Posted: Sat Oct 28, 2006 2:31 pm Post subject: |
|
|
sanzo77 wrote: | oook grazie mille, lo faccio subito tnx :D
:? :? niente da fare... root non ne vuole sapere...
ma forse ho sbagliato io :
io ho creato un file /etc/env.d/99mine con all'interno:
Code: |
PATH="."
ROOTPATH="."
|
|
Forse dovresti mettere Code: |
PATH="${PATH}:."
ROOTPATH="${ROOTPATH}:."
|
|
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 2:37 pm Post subject: |
|
|
umh in teoria no... da quel che ho capito quando si fa env-update si fa un merge di tutti quanti, non c'e' bisogno di concatenare con $PATH _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
syntaxerrormmm Guru


Joined: 17 Apr 2005 Posts: 449 Location: Romano di Lombardia - BG - ITALY
|
Posted: Sat Oct 28, 2006 2:39 pm Post subject: |
|
|
Scusate, io sarò anche ignorante, ma modificare la path presente in /etc/profile per root e in .bash_profile per gli utenti no? _________________ "Every rule can be broken, but no rule may be ignored."
Last.fm - Gentoo 2006.1 on:
Acer Aspire 1355LC - suspend2-sources-2.6.18-r3
IBM Thinkpad T30 - suspend2-sources-2.6.19-r3 |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 2:48 pm Post subject: |
|
|
syntaxerrormmm wrote: | Scusate, io sarò anche ignorante, ma modificare la path presente in /etc/profile per root e in .bash_profile per gli utenti no? |
ho provato, ho inserito il . in entrambi i rami dell'if (dove testa se l'utente è root o meno), ma niente per root non funziona. A tale proposito non riesco neanche a capire x quale motivo non veda gli alias che sono definiti in fondo a /etc/profile... umh c'è qualcosa di strano _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Oct 28, 2006 2:57 pm Post subject: |
|
|
Per prima cosa sconsiglio di modificare /etc/profile, per aggiungere variabili esiste già la directory /etc/env.d e per aggiungere altre cose (tipo alias) esiste già /etc/profile.d. Detto questo, nei file in /etc/env.d non bisogna preoccuparsi di unire le variabili, per esempio io uso:
Code: | [ ~ ] # cat /etc/env.d/99my
PATH=/home/luca/dev/bin
ROOTPATH=/home/luca/dev/bin
[ ~ ] # |
non:
Code: | [ ~ ] # cat /etc/env.d/99my
PATH="${PATH}:/home/luca/dev/bin"
ROOTPATH="${PATH}:/home/luca/dev/bin"
[ ~ ] # |
A fare il merge delle variabili ci pensa lo script "env-update", quindi dopo aver fatto una modifica a tali file (etc/env.d) è necessario eseguire:
Code: | # env-update && source /etc/profile |
In modo che tutti i cambiamenti vengano applicati alla shell in uso, inoltre segnalo che dipende come viene chiamata la shell, a volte non viene caricato il file /etc/profile, quindi può capitare che non trovate gli alias o le altre cose per questo motivo.
P.S: sanzo77: potresti modificare il tuo post con i vari "declare", ha linee troppo lunghe che rovinano l'impaginazione della pagina, prova a spezzarle. _________________ Running Fast! |
|
Back to top |
|
 |
.:chrome:. Advocate


Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sat Oct 28, 2006 3:01 pm Post subject: |
|
|
@sanzo77:
fai il sacrosanto favore a tutti di editare il tuo post e inserire qualche rimando a capo.
non credo che la gente abbia tanta voglia di stare a scorrere orizzontalmente tutto il forum per leggere i tuoi messaggi
basterebbe un po' du buon senso, delle volte... |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 3:32 pm Post subject: |
|
|
avete ragione edito subito. --> FATTO
@Luca89
grazie mille, una volta fatto env-update && source etc etc e' andato tutto a posto. tnx
edito ancora per aggiungere un nuovo problemino:
ho fatto env-update && source /etc/profile e tutto funziona, pure gli alias (il profile e' rimasto quello di default eh). Ora pero' ogni volta che apro una shell sono nella condizione di prima e se non rido' env-update && source /etc/profile non si risolve. ora provo a riavviare, ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto? _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Sat Oct 28, 2006 5:41 pm Post subject: |
|
|
scusate se insisto, ma il problema persiste sono ore che smanetto leggo e provo ma nulla. Dalla guida di gentoo leggo
Quote: | Codice 5: Aggiornare l'ambiente
# env-update && source /etc/profile
Nota: Il comando sopra aggiorna solo le variabili nel terminale corrente e nelle nuove console. Se si sta lavorando in X11 si dovrà digitare source /etc/profile in ogni altro terminale che si aprirà o se si restarterà X così che tutti i nuovi terminali abbiano le nuove variabili. Se si usa un login manager passare a root e digitare /etc/init.d/xdm restart. Saltando questo ultimo comando si dovrà fare il logout e di nuovo il login per X per ottenere i nuovi valori delle variabili. |
quindi in teoria io dovrei dare il comando di cui sopra, sloggarmi, riloggarmi e tutto dovrebbe andare... invece cosi' non e'. Qualcuno ha idee in proposito ? Grazie  _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
.:chrome:. Advocate


Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sat Oct 28, 2006 5:58 pm Post subject: |
|
|
sanzo77 wrote: | ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto? |
più o meno
la questione è che tu stai passando dalla via sbagliata.
perché non cacci le modifiche in bashrc? in quel modo sei certo che verranno applicate a tutti gli utenti (che usano una bash)
OT: io spero che lo scopo per cui stai facendo questo non sia evitare di scrivere ./ prima di lanciare eseguibili nella propia home directory (o dovunque essi siano)
i path sono così da sempre, e si quelli sono calibrati i criteri di sicurezza ed i meccanismi di protezione.
se hai esigenza di avere eseguibili raggiungibili da chiunque, allora devi usare /usr/local/{bin,sbin} e nient'altro. al di fuori di queste directory non si dovrebbe dare nemmeno il permesso di esecuzione |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Oct 28, 2006 9:04 pm Post subject: |
|
|
sanzo77 wrote: | ma in teoria env-update dovrebbe rendere persistenti le modifiche giusto? |
env-update va a generare il file /etc/profile.env che poi viene caricato da /etc/profile
k.gothmog wrote: |
più o meno
la questione è che tu stai passando dalla via sbagliata.
perché non cacci le modifiche in bashrc? in quel modo sei certo che verranno applicate a tutti gli utenti (che usano una bash) |
perchè? i file in /etc/env.d sono fatti apposta per modificare le variabili d'ambiente
Quote: | quindi in teoria io dovrei dare il comando di cui sopra, sloggarmi, riloggarmi e tutto dovrebbe andare... invece cosi' non e'. Qualcuno ha idee in proposito |
Ti ho già detto che in base a che tipo di console lanci a volte non viene caricato /etc/profile, quindi ti consiglio o di settare nel tuo terminale "usa shell di login" oppure metti nel file ~/.bashrc la riga:
Code: | source /etc/profile |
In modo che vengano caricate le variabili d'ambiente. _________________ Running Fast! |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Mon Oct 30, 2006 8:24 am Post subject: |
|
|
@luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto... _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Oct 30, 2006 1:11 pm Post subject: |
|
|
sanzo77 wrote: | @luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto... |
usa:
oppure metti in /root/.bashrc: Code: | source /etc/profile |
_________________ Running Fast! |
|
Back to top |
|
 |
sanzo77 Apprentice

Joined: 28 Oct 2006 Posts: 168 Location: roma
|
Posted: Mon Oct 30, 2006 1:17 pm Post subject: |
|
|
Luca89 wrote: | sanzo77 wrote: | @luca89
il problema è che tale soluzione funziona solo per l'utente che si logga, se fai su e diventi root il profile non viene riletto... |
usa:
oppure metti in /root/.bashrc: Code: | source /etc/profile |
|
non esiste quel file in root e se lo creo non lo legge... faro' su -, magari faccio un alias "su" a "su -" _________________ emh... scusa... ma tu ce lo hai google su quel computer??? |
|
Back to top |
|
 |
|