Isso está abordando o conteúdo de sua pergunta.
Como posso tornar o acesso à linha de comando mais seguro
É quase impossível restringir o acesso a uma linha de comando. Embora você possa restringir o acesso ao gnome-terminal
instalado, há outros terminais instalados padrão que podem ser acessados. Estes incluem xterm
, uxterm
, lxterm
e emulador x-terminal. Se você desativou ou desinstalou todos os terminais instalados padrão, um usuário pode facilmente baixar um terminal para seu espaço pessoal e executar uma linha de comando a partir daí.
Commanlines não precisam de um terminal para ser executado
Muitos dos comandos que executo, eu executo em um script ... geralmente um script on-line.
Embora as maneiras de navegar no sistema e executar comandos sejam de vaso para conter em uma mensagem, vou dar um exemplo de um método fácil.
1. From the Ubuntu Dash search type gedit 2. In the window type: #!/bin/bash bash 3. Save the file as mytermial. 4. From the file browser right/cick the file -> (click) Properties -> (checkmark) Allow executing file as program -> Close 5. Now double click the file and you are in a terminal.
Em vez do comando ser bash
poderia ser ls
para navegar em qualquer lugar no sistema, bem como cat
para listar qualquer coisa no sistema, que o usuário tem permissão para acessar. Isso faz com que a única solução real seja verificar permissões de dados confidenciais .
A modificação dos seus arquivos de sistema pode quebrar seu sistema, dificultando o acesso dos usuários (incluindo sua conta) para executar sua tarefa.
Por motivos de segurança, você deve proteger os dados, colocando acesso restrito aos dados específicos, arquivos de dados e diretórios de dados. Por exemplo, o diretório mysql
possui dados confidenciais. Está localizado na área /var/lib/mysql
. As permissões de máscara de arquivo são 700
. Isso significa que apenas o mecanismo de banco de dados Mysql
ou algum controlador root
especial pode acessar o diretório ou arquivos lá dentro. Este é o esquema de permissão usado para segurança real no Linux que é testado e funciona. Métodos fora disso podem criar uma falsa sensação de segurança prejudicial.
Existem alternativas que você pode configurar especificamente para restringir o acesso dos usuários ao seu sistema. Por exemplo, você pode configurar jails para os usuários que você não deseja ter acesso para navegar na estrutura de diretório regular. Isso é feito para a conta de convidado padrão. A conta de usuário presa não poderá ver fora da estrutura de diretório fornecida.
Observe: Jailkit . É um conjunto de utilitários para limitar o acesso do usuário a áreas específicas usando o chroot
do Linux e / ou comandos específicos.
Alguns discussão detalhes sobre este podem ser encontradas em:
Simple & amp; maneira fácil de prender usuários
Eu não acho que a solução alternativa presa seria tão boa quanto make the access to the command line more secure
certificando-se de secure the files and directories of the sensitive data
Arquivos de exemplo mostrando os bits de permissão:
drwxr-xr-x 104 root root 4096 Oct 25 10:33 /etc
-rw-r----- 1 root shadow 1119 Oct 25 09:50 /etc/shadow
As permissões são agrupadas em três. Começando com o segundo bit, o primeiro grupo (de três) é o proprietário do item u
. O segundo grupo é o grupo g
e o último grupo é outro o
. Contanto que você não tenha nenhum dos bits definidos no último grupo de três bits, um usuário normal não poderá acessar essa área ou arquivo. Esses bits são read
, write
e execute
. Portanto, remova o último bit do diretório de dados confidenciais e os outros não terão acesso a ele. Isso pode ser feito com:
$ chmod o-x [directoryname]
Alternativamente, você pode ter definido onde o usuário pode entrar no diretório, mas não navegar (ou ver diretamente) o diretório com:
$ chmod o-r [directoryname]
Você pode usar esse esquema para verificar e verificar com facilidade quem tem acesso a quê.
A resposta final é que você não pode fornecer segurança ao fazer alterações nos seus vários emuladores de terminais e da linha de comando real, porque há tantas alternativas para acessar os dados sem utilizar a linha de comando diretamente, como um filebrowser. A verdadeira solução para segurança é através do controle de permissões