Limitar comandos que o usuário pede executar

Publicado por Rodrigo em 11/08/2016

[ Hits: 6.702 ]

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

Filtrando sites navegados por máquinas no log do Squid

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

Redirecionar a porta 80 para 3128 com iptables, menos a tua máquina

Arrays no BASH

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

Leitura recomendada

Filtro de conteúdo web (proxy) integrado ao AD via NTLM

Bloqueando usuários com ARP

Vendo quem está logado no servidor de FTP

Instalando Tcptrack no Slackware 13

Resetar senha de root no Debian Squeeze

  

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