É possível impedir que o usuário abra / salve a caixa de diálogo no Ubuntu 12.04 LTS

1

Eu tenho um número de computadores quiosques implementados no aplicativo da minha empresa que usam o firefox como interface de usuário front-end. Tudo o que os usuários precisam fazer é ficar no firefox para fazer seu trabalho. No entanto, quando clicam no menu "Arquivo" do Firefox e clicam em abrir ou salvar página como, a caixa de diálogo de arquivo é exibida para que eles explorem o sistema de arquivos, incluindo os arquivos de aplicativo de back-end e a unidade de rede mapeada. Eu encontrei métodos para esconder aqueles no nautilus usando o arquivo .hidden, mas ele não funciona na caixa de diálogo salvar / arquivo.

Como sou muito novo no Linux, criei contas de usuário para eles como usuários padrão e acho que todos os usuários têm acesso de leitura ao sistema de arquivos por padrão (e eles precisam deles para executar corretamente o sistema operacional e o aplicativo?) Então eu não posso tirar permissão de leitura deles? Por favor, corrija-me se estiver errado.

Então, posso apenas impedir que os usuários abram a caixa de diálogo de arquivos? Uma abordagem que posso pensar agora é que existe algum arquivo de sistema ou arquivo de biblioteca que manipulam esses arquivos / salvar diálogo? para que eu possa editar a permissão deles e os usuários receberão permissão de diálogo negado em seu lugar.

Por exemplo, no caso abaixo

link

eles removem o arquivo: /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so para desativar a função "imprimir no arquivo".

E outro caso

link

eles editam a permissão da pasta: / usr / lib / gvfs / gvfsd-smb-browse para evitar que os usuários cliquem no botão "Browse Network" no Nautilus.

Se não for possível, alguma sugestão para ocultar o sistema de arquivos e a pasta de rede mapeada na caixa de diálogo de arquivos? Por favor, ajude cada sugestão será apreciada. Agradecemos antecipadamente.

    
por user264271 01.04.2014 / 19:11

1 resposta

0

A maneira mais simples de fazer isso é usar permissões. As permissões para arquivos e diretórios no Linux e sistemas similares possuem 3 níveis básicos, as permissões do proprietário do arquivo, seu grupo e todos os outros.

Por exemplo, no meu sistema, eu crio um novo usuário chamado foo :

sudo adduser foo

Esse usuário recém-criado pertence ao grupo foo only ( sudo -u foo me permite executar comandos como o usuário foo , nesse caso, groups que lista os grupos aos quais um usuário pertence):

$ sudo -u foo groups
foo

Então, vamos criar um arquivo:

sudo -u foo touch /tmp/file

E veja as permissões:

$ ls -l /tmp/file 
-rw-r--r-- 1 foo foo 0 Apr  2 17:49 /tmp/file
---------    --- --- =================================> The file's group
 |  |  |      |=======================================> The file's owner
 |  |  ------> Others (everyone else): read only
 |  |--------> Group permissions: read only
 |-----------> Owner permissions: read/write

Então, como você pode ver no exemplo acima, um arquivo tem 3 níveis de permissão. Como isso foi criado como o usuário foo , meu usuário comum terdon não pode gravar nele:

$ echo "hello" > /tmp/file
bash: /tmp/file: Permission denied

Para listar o conteúdo de um diretório, um usuário precisa de permissões read e, para se mudar para ele, precisa da permissão executar . Portanto, para ocultar o conteúdo de um diretório, basta remover os direitos de leitura e execução. Tomando /media como exemplo:

$ ls -dl /media
drwxr-xr-x 9 root root 4096 Mar 25 20:15 /media

Como você pode ver acima, o proprietário, o grupo e todos os outros têm direitos de execução no diretório (isso é o que o x significa). O que queremos fazer é fazer com que apenas os membros do proprietário e do grupo tenham acesso a ele. Por isso, precisaremos remover os direitos de leitura e execução do campo "outros":

$ sudo chmod o-rx /media
$ ls -dl /media
drwxr-x--- 9 root root 4096 Mar 25 20:15 /media

Como você pode ver acima, /media agora não tem direito de execução no campo "outros", o que significa que apenas os membros do grupo root e o usuário root podem acessá-lo.

O que tudo isso significa é que você pode criar usuários e ajustá-los para ter acesso somente a arquivos específicos. No entanto, tenha muito cuidado com as permissões , alterar as permissões das pastas do sistema é muito perigoso e não deve ser feito. Em vez disso, se você tiver diretórios específicos que deseja ocultar, apenas altere suas permissões e deixe os diretórios do sistema sozinhos. Portanto, no seu caso, se você tiver os arquivos de backend em / backend an d your mapped network drive somewhere in / media ', apenas execute este comando para bloquear o acesso de leitura a esses diretórios:

sudo chmod o-rx /media /foo/

Para mais informações sobre como as permissões podem ser definidas, consulte man chmod ou qualquer um dos muitos tutoriais que você pode encontrar on-line, este por exemplo.

    
por terdon 02.04.2014 / 18:13