Onde colocar a configuração do bash para usuários recém-criados?

Onde colocar a configuração do bash para usuários recém-criados?

Tenho uma tarefa e estou confuso sobre qual arquivo de configuração do bash editar.

Devo editar um arquivo de configuração bash e alterar o prompt PS1 e adicionar uma variável de ambiente que pesquisa ~/scripts sempre que um usuário root insere um comando. Devo então copiá-lo para o diretório apropriado para que todos os novos usuários criados também tenham as variáveis.

Posso fazer a primeira parte sem problemas, mas não tenho certeza de qual arquivo de configuração devo editar. Com base no segundo requisito, estou editando ~/.bashrc, mas estou preso na segunda parte de qual diretório copiar.

O NDG diz que todos os arquivos nesse diretório com extensão .sh são executados automaticamente em /etc/profile.d/, então fui em frente e copiei/renomeei ~/.bashrc para algo como bashrc.sh lá. Mas quando eu testo com um novo perfil de usuário, aparece um prompt vazio no terminal.

Espero que alguém aqui possa me ajudar, obrigado.


A redação exata da tarefa

  1. No arquivo de configuração do shell bash apropriado, configure o prompt da linha de comando principal para que ele exiba seu sobrenome, seguido por @, o nome do host e o diretório de trabalho.
  2. Crie um diretório chamado ~/scripts
  3. No arquivo de configuração do shell bash apropriado, altere a variável de ambiente apropriada para que o sistema também pesquise o diretório ~/scripts recém-criado quando o usuário root inserir um comando.
  4. Copie o arquivo de configuração do shell bash que você modificou nas etapas acima para o diretório apropriado para que sempre que um novo usuário for criado, esse usuário também tenha esses valores de variáveis ​​de ambiente.

Responder1

Você parece estar fazendo uma boa edição .bashrc; o diretório onde você também precisa copiar os modelos de qualquer arquivo de configuração/script a ser duplicado na criação de um usuário geralmente está localizado em /etc/skel.

Então você faria:

  1. Anexe ~/.bashrce coloque lá:

    PS1="surname@\h\w>"
    
  2. Crie o espaço reservado para scripts de usuários futuros em ~/scripts

    mkdir ~/scripts
    
  3. Anexe a ~/.bashrcum modificador $PATH para procurar scripts; como regra geral, por razões de segurança, você o anexa no final e não no início

    PATH=$PATH:~/scripts
    
  4. Nesta última parte, você precisa fazer isso como root, ou pertencer ao sudogrupo, precedendo o comando com sudopara ter privilégios de superusuário; seus privilégios normais de usuário padrão não serão suficientes para escrever no diretório /etc/skel. Como em

    sudo cp ~/.bashrc /etc/skel
    

    ou como rootusuário:

    cp  ~your_user_name/.bashrc /etc/skel
    

Veja o relevantelinkpara mais detalhes sobre /etc/skel

O diretório /etc/skel contém arquivos e diretórios que são automaticamente copiados para o diretório inicial de um novo usuário quando tal usuário é criado pelo programa useradd.

/etc/skel permite que um administrador de sistema crie um diretório inicial padrão para todos os novos usuários em um computador ou rede e, assim, certifique-se de que todos os usuários comecem com as mesmas configurações ou ambiente.

Vários arquivos de configuração do usuário são colocados em /etc/skel por padrão quando o sistema operacional é instalado.

O nome do diretório skel é derivado da palavra esqueleto, porque os arquivos que ele contém formam a estrutura básica dos diretórios pessoais dos usuários.

Quanto à variável de ambiente PATH, consulteesse

A variável de ambiente PATH é uma lista delimitada por dois pontos de diretórios que seu shell pesquisa quando você insere um comando.

Os arquivos de programas (executáveis) são mantidos em muitos locais diferentes no sistema Unix. Seu caminho informa ao shell Unix onde procurar no sistema quando você solicitar um programa específico.

Para alterar seu prompt com PS1, você pode brincar com o.bashrc gerador PS1e veja as modificações em tempo real usando uma página web bastante inteligente.

informação relacionada