Como restringir usuários ao deletar arquivos da pasta lixeira?

7

Desejo restringir meus usuários ao excluir arquivos da lixeira. Também não quero que meus usuários excluam arquivos ignorando a lixeira. Existe alguma maneira de fazer isso?

    
por karthick87 02.04.2011 / 09:09

5 respostas

2

Parte Um

Vamos alterar os atributos dos arquivos da lixeira para que somente o root possa alterá-lo e, eventualmente, deletá-lo.

1) Edite o /etc/rc.local para ficar assim:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing 
# but desgua has changed it 
# to keep a copy of trashed files
while [ "$var1" != "end" ]
do
sudo chattr +i /home/user_name/.local/share/Trash/files/* 
sleep 2
done
exit 0

4) Torne-o executável.

sudo chmod +x /etc/rc.local

5) Reinicie ou faça logout e faça login novamente.

ps-1: só para facilitar o processo, a mudança de atributo é feita a cada 2 segundos. Você pode mudar isso como quiser.
ps-2: para remover o atributo "i" (imutável) é só executar:

sudo chattr -i /home/user_name/.local/share/Trash/files/*

Parte Dois

Para desativar o ignorar da lixeira.

1) Abra o gconf-editor.

gconf-editor

2) Vá para / apps / nautilus / preferences / enable_delete clique com o botão direito e "Set Mandatory".

Parte Três
Desativando Shift + Del

Vamos modificar o mapa de teclas.

1) Crie um arquivo

nano ~/.Xmodmap

2) Cole e salve:

keycode 119 = Delete BackSpace
use "xev" para verificar se o teclado Del realmente é "keycode 119"

3) Nós com certeza não queremos que este arquivo seja deletado, então:

 sudo chattr +i ~/.Xmodmap

5) Reinicie, faça logout ou execute:

xmodmap ~/.Xmodmap

Agora pronto!

  • última edição 04/07/2011
por desgua 03.04.2011 / 05:56
4

Não, os usuários sempre poderão excluir os arquivos que possuem (modulo algumas configurações de ACL complexas que não são viáveis para uma área de trabalho).

    
por Adam Byrtek 02.04.2011 / 11:55
3

A lixeira no Ubuntu é apenas um subdiretório especial na pasta home do usuário, que por definição é de propriedade daquele usuário. Mesmo se você alterar as permissões do arquivo, o usuário poderá alterá-las novamente e excluir o arquivo.

Se você estiver tentando evitar a perda de dados, uma solução muito melhor seria configurar backups automatizados - assim, qualquer coisa que fosse excluída poderia ser recuperada.

    
por ImaginaryRobots 02.04.2011 / 18:50
1

Eu não testei completamente, mas você deve ser capaz de fazer algo como

chmod -r $HOME/.local/share/Trash/files

Você pode mover os arquivos para o lixo, mas não pode visualizá-los lá. Mas, claro, qualquer um pode mudar as permissões de volta.

Você precisa reiniciar sua sessão / computador para aplicar essa alteração.

    
por arrange 02.04.2011 / 19:47
0

a resposta da dgua cobriu todas as suas necessidades (e deve ser aceita resposta, IMHO), mas eu acho que é importante destacar alguns pontos:

  • Não importa o que você faça com os arquivos na lixeira, você estará editando os arquivos e suas permissões em uma pasta controlável pelo usuário ( $HOME/.local/share/Trash ). E como você não pode remover permissões para o usuário $ HOME, o usuário pode desfazer qualquer alteração.

  • O mesmo vale para configurações do Gnome, como preferências do nautilus e ligações de teclado. Na melhor das hipóteses, você pode alterar o comportamento padrão , mas, novamente, qualquer usuário pode substituir essas configurações para sua própria sessão.

  • Que tal rm e comandos CLI semelhantes? rm é apenas um exemplo, mas há vários outros comandos que podem ser usados por um usuário para excluir (ou destruir) seus próprios arquivos. Você está planejando remover o Terminal? E sobre o ALT + F2 do Gnome (executar o aplicativo)?

Meu ponto é: não importa o que fazer, são os arquivos dos usuários, é a sessão do usuário, e eles serão capazes de contornar qualquer proteção que você fizer, se quiser (e saber como). A resposta do site é incrível, mas esteja ciente de que é apenas cosmético, útil apenas se você tiver usuários não técnicos. Sua intenção é ser uma conveniência em vez de uma verdadeira medida de segurança.

Não há verdadeiro jeito de realmente conseguir o que você quer, a menos que você realmente mude toda a distro de uma forma muito incomum.

Dito isso, por que exatamente você quer isso? Por segurança ou conveniência? Não é o treinamento adequado do linux para seus usuários muito melhor (e mais fácil) do que isso?

    
por MestreLion 08.04.2011 / 00:11

Tags