Limitar comandos que o usuário pede executar

Publicado por Rodrigo em 11/08/2016

[ Hits: 6.387 ]

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

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

Descobrir o MAC address de um IP com arping

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

Arrays no BASH

Quota no Debian Etch

Leitura recomendada

Inserir comentários em regras do iptables

Gravando sessão de terminal com o ttyrec

Quebrando senha de root

Atualizando o Java Runtime Enveronment (JRE) de um jeito bem fácil

Problema de conexão usando o protocolo TLS

  

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