Limitar comandos que o usuário pede executar

Publicado por Rodrigo em 11/08/2016

[ Hits: 6.820 ]

Blog: https://www.facebook.com/

 


Limitar comandos que o usuário pede executar



Esta dica explica como limitar comandos que o usuário pode executar. Liberaremos apenas os comandos: more, ping e telnet.

Crie o arquivo .bash_profile, no diretório home do usuário:

# touch /home/camila/.bash_profile

Edite o arquivo e adicione:

# vim /home/camila/.bash_profile

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Crie o diretório apps, na home do usuário:

# mkdir -p /home/camila/apps

Crie o link simbólico no diretório apps, para os comandos-autorizados:

# ln -s /bin/more /home/camila/apps/more
# ln -s /bin/ping /home/camila/apps/ping
# ln -s /usr/bin/telnet /home/camila/apps/telnet


Altere o proprietário do diretório apps, recursivamente:

# chown -R camila /home/camila/apps

Obs.: para localizar o caminho completo do comando, utilize o which:

# which telnet
/usr/bin/telnet

Outras dicas deste autor

Quota no Debian Etch

Substituindo palavras no editor VI

Backup do Outlook de uma estação com Windows XP

Arrays no BASH

Imprimindo em uma HP Laserjet 3030 conectada a um Jetdirect através linha de comando

Leitura recomendada

Criptografando diretórios com eCryptfs

Quebrando senha de root

Alterando o número de hops do Tor

Melhorando a segurança do Linux

Webinar III - Principais ameaças à aplicações web - Top 10 do OWASP

  

Comentários
[1] Comentário enviado por dzm_linux em 12/09/2016 - 13:17h

Amigo,

A intenção da dica é interessante, e o seu raciocínio faz sentido.

Entretanto, se as instruções da sua dica forem seguidas, não será produzido o resultado esperado, por diversas razões:

1. A criação do arquivo ~/.bash_profile, e a definição da variável $PATH não fez sentido. Lá você incluiu o diretório ~/bin à variável $PATH, mas criou o diretório ~/apps.

2. Você somente adicionou o diretório ~/bin (apps) à variável $PATH. As demais localizações continuariam disponíveis, e os demais comandos continuariam funcionando normalmente. Talvez o ideal fosse que a variável $PATH só tivesse a localização ~/apps.

3. Ainda assim, os demais comandos não ficariam restritos. Para executá-los bastaria digitar seu caminho absoluto. E acredite, nada como uma restrição para a pessoa buscar extrapolá-la.

Por favor, não veja meu comentário como negativo. Só busquei esclarecer os pontos que entendi como discrepantes.

Até mais.

[2] Comentário enviado por roddy em 06/12/2017 - 22:11h

Verdade amigo, obrigado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts