Linux :: alias condivisi in /etc/profile.d non applicato all'utente root, perché?

Nella mia macchina per sviluppatori Fedora 14 posso aggiungere un file sharedAliases.sh a /etc/profile.d – sia il mio utente che l'utente principale hanno accesso agli alias condivisi.

Passare alla macchina CentOS 5.7 remota e quello che sembra essere la stessa configuration, nessun dado, l'utente root non ha accesso agli alias condivisi.

  • Ottenere "anno" con l'ultimo command su Red Hat 5
  • Autenticazione di directory Linux + Active + solo consentendo l'accesso a determinati gruppi
  • Consentire a PHP di scrivere il file senza 777
  • C'è un'utilità per leggere le variables di ambiente da un file env e quindi eseguire un command (più leggero del responsabile)?
  • Come posso sapere quando è stata creata una connessione TCP su Linux?
  • Quali sono le buone alternative di Open Source per Active Directory?
  • Questo può essere dovuto al fatto che io SSH nella casella CentOS, non sono sicuro. In each caso, la soluzione più sorda è stata quella di copiare gli alias condivisi in root user's .bashrc poichè è l'unico modo in cui sono riuscito a get i prefs desiderati in root (sì, so che dovrei sudo ma sono stati rotolati con su per anni).

    Idee apprezzate, preferiscono non wherer duplicare alias se ansible.

    One Solution collect form web for “Linux :: alias condivisi in /etc/profile.d non applicato all'utente root, perché?”

    Deve avere a che fare con diff tra su-ing su ssh vs quando registrati direttamente nella macchina

    Sospetto che eseguire il command su senza dash ( - ) e, in caso affermativo, richiamerà una shell intertriggers di non-login . Combina con te ha solo seguito in /root/.bashrc :

     # Test for an interactive shell. There is no need to set anything # past this point for scp and rcp, and it's importnt to refrain from # outputting anything in those cases. if [[ $- != *i* ]] ; then # Shell is non-interactive. Be done now! return fi 

    (non sorgente /etc/bashrc )

    mentre se si fa il login diretto o si usa su - , verrà richiamato un shell di login , /etc/profile viene letto e sharedAliases.sh verrà eseguito.

    Per vedere che file viene letto con diverse shell, aggiungendo i log a tutti questi file eseguendo i seguenti comandi come root:

     echo "echo 'running /etc/bashrc'" >> /etc/bashrc echo "echo 'running /etc/profile'" >> /etc/profile echo "echo 'running /root/.bashrc'" >> ~/.bashrc 

    Creare un alias di prova:

     # echo "alias list='ls'" > /etc/profile.d/test.sh 

    Ora, accedi come utente normale e usi su , vedrai qualcosa di simile:

     $ su Password: running /root/.bashrc bash-3.2# list bash: list: command not found 

    e con su - :

     $ su - Password: running /etc/profile running /root/.bashrc # list total 226540 -rw-rw-r-- 1 root root 60148987 Apr 1 2011 3241948.flv 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.