Localizando arquivos .rc no Bash no FreeBSD?

0

Estou usando o FreeBSD com o bash como shell. Eu também uso o SSH com o FreeNAS e o pfSense, ambos baseados no FreeBSD.

Estou ficando confuso sobre a configuração de opções bash, e alguns esclarecimentos realmente ajudariam. Estou tentando obter várias opções de shell para serem usadas em sessões futuras (e exportadas para shells chamadas de sessões), mas não estou tendo muita sorte. Talvez eu não saiba como encontrar o arquivo correto para colocá-los, ou a maneira correta de colocá-los lá.

Meu principal problema é provavelmente encontrar o arquivo rc usado para a sessão (!!) Se eu fizer login como root, execute su , então set mostrará uma lista diferente de variáveis de ambiente. Mas como não mudei o usuário, estou confuso porque meu arquivo rc não parece ser o mesmo. (os arquivos que encontrei não têm entradas diferentes para as variáveis de ambiente que estou vendo). A saída de set mostra ENV=/USERNAME/.shrc , mas quando eu edito esse arquivo e faço login novamente, não vejo nenhuma alteração na minha sessão, então estou supondo que não é para onde procurar? Mas eu também amarrei a edição ~/.bashrc , e isso também não parece fazer nada.

Deve haver uma maneira de descobrir diretamente qual arquivo .rc foi usado para iniciar a sessão, mas não sei como fazer isso, especialmente porque o FreeNAS e o pfSense podem ter seus próprios locais personalizados.

Se ele está usando um ou dois arquivos rc, como posso encontrar qual arquivo rc eu teria que editar, para modificar sessões futuras que são as mesmas da presente sessão? E ele usa um arquivo rc ou dois arquivos diferentes se você fizer login pela primeira vez como root e, em seguida, su ?

    
por Stilez 09.10.2017 / 17:32

1 resposta

1

O shell raiz padrão do FreeBSD é / bin / tcsh. Você deve não alterar o shell para o usuário root. Você pode confortavelmente usar o shell bash. Mas, em seguida, altere o shell para seu próprio usuário. Se você precisa de privilégios de root, você deve ter o hábito de usar su -c ou até melhor: sudo. Se você fizer isso, você realmente não se importa com o que é o shell para o usuário root. Se você insistir em mudar o shell para o root - então use o usuário "toor" (root backwards). Ele ainda opera como uid 0, mas é seguro alterar o shell.

Você faz referência a ~/.bashrc , mas isso é relativo. Em uma típica instalação do FreeBSD, isso será expandido para /home/<username>/.bashrc para usuários regulares e /root/.bashrc para o usuário root.

Você escreve que você faz login como root. Eu recomendo que você não faça isso, mas faça login como um usuário comum.

Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos de ~/.bashrc , se esse arquivo existir. Isso significa que .bashrc não é invocado no login! Somente se você iniciar como um shell interativo.

Provavelmente você está procurando ~/.bash_profile - consulte o link

    
por 09.10.2017 / 17:53