Como posso proteger um arquivo contra alterações do usuário?

15

Estou usando o Ubuntu 12.04 e quero proteger algumas fotos de outro usuário usando o comando su (tenho privilégios de administrador). Como posso proteger um arquivo usando o terminal e permitir que o restante dos usuários o leia?

Jatttt
fonte
Eu quero que qualquer pessoa pode vê-lo bot não pode editar de excluí-lo
Jatttt
@ user222588 soa bastante claro, não se preocupe
de Bruno Pereira
O método depende de onde estão os arquivos, onde estão? Um usb, seu disco rígido principal?
Braiam 23/02

Respostas:

25

O Ubuntu usa o formato do sistema de arquivos EXT4 por padrão (estou assumindo que não estamos falando de mais nada aqui).

Se você não deseja se apropriar do arquivo sem remover a capacidade de o usuário ler esse arquivo, pode começar permitindo que ele leia, mas não grave nesse arquivo com:

chmod a-w,ug+r foo_file

descrição: alterar permissões de arquivo, nem tudo é possível gravar , usuário + grupo pode ler

Em seguida, pode tornar os arquivos imutáveis, para que mesmo os usuários com permissão root não possam ser alterados usando o seguinte:

sudo chattr +i foo_file

Para poder excluir ou mesmo modificar este arquivo, você precisará usar o comando:

sudo chattr -i foo_file

e então você poderá fazer algo com isso.

O ponto positivo de usar isso é que a maioria dos usuários (e administradores) nunca experimentou arquivos imutáveis ​​no Linux.

Esse foi o usuário verá isso ao tentar remover (ou alterar) o arquivo:

~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted

enquanto ainda é capaz de lê-lo:

~> cat asd
asd
...
Videos

Depois de emitir chattr +io arquivo "bloqueado", nenhuma alteração poderá ser feita até que um usuário com permissões root o defina chattr -i.

Bruno Pereira
fonte
Saude meu amigo. uma explicação tão boa.
rɑːdʒɑ
8

Basta usar como abaixo em seu terminal ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
fonte
o que há de errado nisso? voto negativo com uma razão adequada muito apreciada.
rɑːdʒɑ
1

Experimente o comando abaixo no terminal,

chmod u-rw /path/to/directory

O comando acima não permitirá que outro usuário ou grupo leia ou grave esse diretório em que as imagens são armazenadas.

chmod u+rw /path/to/directory

Para reverter as alterações, execute o comando acima.

Avinash Raj
fonte
11
forneça o motivo do voto negativo.
Avinash Raj
2
Eu imagino que o voto negativo é porque você está tirando os direitos do proprietário, não de outros usuários e grupos.
Ben Voigt
0

Se você deseja criptografar o arquivo, pode usá-lo bcryptpara criptografar e decriptar o arquivo. Ele usa criptografia de arquivo blowfish.

digite: sudo apt-get install bcryptpara instalá-lo.

Após a instalação, digite sudo bcrypt file-namepara criptografá-lo.

g_p
fonte
0

Eu recomendo usar o Truecrypt para criar um "disco removível" criptografado para 1 arquivo. Se você criar, por exemplo, uma partição Truecrypt de 1 GB e poderá proteger esse arquivo com senha. (Opção especialista: você pode definir 2 senhas para esse arquivo: com a primeira senha, você vê uma parte normal do arquivo e com a senha 2, a parte oculta) Você pode montar esse arquivo no Linux, Mac ou no Windows (montar no drive e:) e você mostrará esse arquivo de 1 GB como uma unidade pendrive / flash e poderá desmontar quando quiser.

Se você criar esse arquivo de 1 GB (ou qualquer tamanho, disco ou pendrive completo), poderá adicionar qualquer extensão para ocultar esse arquivo. (Nunca coloque esse arquivo no diretório inicial como secret.truecrypt.file.with.pwd lol)

Se você usar qualquer nome de arquivo do sistema na pasta do sistema, talvez o usuário normal nunca note que não é um arquivo do sistema, é um arquivo criptografado particular.

Por exemplo, para ocultar este arquivo:

/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3

Outros nomes de arquivos temporários:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Escolha um esquema e altere os números para um nome de arquivo.

  • e também definir direitos ... e, após concluir, remova os comandos do console do histórico

  • Com essa solução, o usuário normal nunca encontrará seu arquivo secreto.

  • No Pendrive, crie uma pasta TEMP e use um nome de arquivo temporário, como exemplos de arquivo. e faça alguns backups com nome diferente ...

Você pode instalar o truecrypt se desejar, por exemplo:

sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt

Mais informações na página inicial do Truecrypt

Anjo caído
fonte
0

Se por proteção, você quer evitar qualquer modificação nesses arquivos, considere usar o utilitário chattr . Possui a opção de marcar os arquivos como imutáveis ​​(não pode ser alterado).

chattr +i /home/username/pictures/example1.png

Isso impedirá que todos os usuários e até o usuário root removam ou modifiquem qualquer arquivo definido como imutável.

Você pode reverter esta ação substituindo o "+ i" por "-i".

Graham G
fonte