Acionei o comando acidentalmente, agora não sei o que fazer

1

Comando acidentalmente executado

sudo chmod -R o+x /home

no meu Ubuntu 12.10.

Agora, o que eu devo fazer? Isso é perigoso? Eu não tenho backup da partição, então acho que esse comando não é reversível. Então eu vou reinstalar todo o sistema por causa desse erro?

    
por heron 23.03.2013 / 18:05

2 respostas

1

A melhor maneira de corrigir isso depende dos detalhes de como seu sistema está configurado. Felizmente, você provavelmente conhece esses detalhes.

Nos arquivos, +x significa que eles podem ser executados como um programa. (Na verdade, ele concede a permissão para tentar . Se eles não são binários executáveis ou arquivos de script com uma linha de hashbang , isso ainda irá falhar.

Nos diretórios (ou seja, pastas), a permissão +x significa outra coisa. Permissões executáveis em uma pasta confere a capacidade de inserir a pasta e suas subpastas (embora suas subpastas podem não ter as permissões necessárias para isso) e tentar acessar arquivos dentro da pasta (os arquivos podem ou não ter permissões que permitem isso para ter sucesso).

Este foi o+x . o significa outro . Isso controla as permissões dos usuários que não são donos do arquivo ou da pasta e também os que não são membros do "proprietário do grupo" do arquivo ou da pasta.

Se você não usa atualmente permissões para compartilhar arquivos com outros usuários locais

Se um usuário (digamos, você) não precisar compartilhar arquivos com outros usuários, é seguro remover permissões executáveis para outro , contanto que você o faça em todos os lugares dentro de sua pasta pessoal . Sua pasta pessoal é /home/username , em que username é substituído por seu nome de usuário real. /home não é sua pasta pessoal, mas é a pasta que contém todas as pastas base. Como /home em si não pertence a nenhum usuário humano do computador, é imperativo que permissões executáveis para outras não sejam removidas do próprio /home .

Então, você pode executar:

cd ~

~ representa sua pasta pessoal. (O shell interpreta assim, você pode digitar exatamente isso.)

Então você pode executar:

chmod -R o-x .* *

Ou se você quiser evitar que outras pessoas também alterem o diretório para sua própria pasta pessoal:

chmod -R o-x ~

É intencional que eu não tenha escrito sudo . Você ainda possui os arquivos em sua pasta pessoal, portanto, você não precisa do sudo , e deixá-lo desativado ajudará a evitar a alteração das permissões dos arquivos e pastas incorretos por acidente. (Em particular, /home é de propriedade de root , portanto, deixando de fora sudo , você garante que não está alterando acidentalmente as permissões para /home e tornando seu sistema inutilizável.)

Se você fizer usa atualmente permissões para compartilhar arquivos com outros usuários locais

Se você tem algumas pastas que compartilha com outros usuários na máquina (se o fizer, então certamente sabe que sim), então você pode usar o método acima e adicionar manualmente permissões executáveis nessas pastas específicas. Mas se você tem muitos para que isso seja prático, então, especialmente se você não está preocupado com o fato de outros usuários acessarem coisas que eles não deveriam, você pode querer apenas remover as permissões executáveis de arquivos , e não em pastas. Depois de fazer isso, você pode seletivamente remover permissões executáveis de algumas pastas, é claro.

Para remover permissões executáveis para outras de todos os arquivos na pasta base do usuário, mas não nos diretórios, execute:

find ~ -type f -exec chmod o-x \{\} \;

(Você vai notar que isso é semelhante a um dos Sugestões da SEngstrom . Veja man find para informações sobre como isso funciona.)

    
por Eliah Kagan 23.03.2013 / 18:37
0

Você acabou de alterar as permissões de arquivo em todos os arquivos do usuário para executável (e diretórios para pesquisáveis, que são padrão) para todos os usuários - provavelmente não o que você quer, mas provavelmente não é o fim do mundo - especialmente se você for o único usuário na máquina.

Você acha que pode fazer um find nos diretórios de documentos e desativar esse sinalizador de executável para arquivos regulares se isso incomodar você.

Se o sistema for recente, talvez considere uma reinstalação apenas para deixá-lo bonito e limpo:)

    
por SEngstrom 23.03.2013 / 18:16