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

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

Executei o comando acidentalmente

sudo chmod -R o+x /home

no meu Ubuntu 12.10.

Agora, o que devo fazer? isso é perigoso? Não tenho backup de partição, então acho que este comando não é reversível. ENTÃO eu devo reinstalar todo o sistema por causa desse erro?

Responder1

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

Em arquivos, +xsignifica que eles podem ser executados como um programa. (Na verdade, confere a permissão paratentar. Se não forem binários executáveis ​​reais ou arquivos de script comuma linha hashbang, isso ainda falhará.)

Em diretórios (ou seja, pastas), o+x permissãosignifica outra coisa. As permissões executáveis ​​em uma pasta conferem a capacidade de entrar na pasta e em suas subpastas (embora suas subpastas possam não ter as permissões necessárias para isso) e de tentar acessar arquivos dentro da pasta (os arquivos podem ou não ter permissões que permitem isso para ter sucesso).

Isto foi o+x. oapoiaoutro. Isso controla as permissões de usuários que não são proprietários do arquivo ou pasta e também que não são membros do “proprietário do grupo” do arquivo ou pasta.

Se você não usa 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, então é seguro retirar permissões executáveis ​​paraoutro, contanto que você apenas faça issoem qualquer lugar dentro da sua pasta pessoal. Sua pasta pessoal é onde/home/usernameusernameé substituído pelo seu nome de usuário real. /homenão é em si a sua pasta pessoal, mas sim a pasta quecontémtodas as pastas iniciais. Como /homeele próprio não pertence a nenhum usuário humano do computador,é imperativo que as permissões executáveis ​​paraoutronão ser removido de /homesi mesmo.

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 mudem de diretório para sua pasta pessoal também:

chmod -R o-x ~

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

Se vocêFazerAtualmente use permissões para compartilhar arquivos com outros usuários locais

Se você tiver algumas pastas que compartilha com outros usuários na máquina (se tiver, é quase certo que sabe que sim), poderá usar o método acima e adicionar manualmente permissões executáveis ​​nessas pastas específicas. Mas se você tiver muitos para que isso seja prático, especialmente se não estiver preocupado com o fato de outros usuários acessarem coisas que não deveriam, você pode quererapenasremover permissões executáveis ​​dearquivos, e não depastas.Depois de fazer isso, você pode retirar seletivamente as permissões executáveis ​​de algumas pastas, é claro.

Para remover permissões executáveis ​​paraoutrode todos osarquivosna pasta pessoal do seu próprio usuário, mas não nos diretórios, execute:

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

(Você notará que isso é semelhante a um dosSugestões de SEngstrom. Verman findpara obter informações sobre como isso funciona.)

Responder2

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

Uma coisa que você pode fazer é ativar findos diretórios de documentos e desativar esse sinalizador executável para arquivos regulares, se isso o incomodar.

Se o sistema estiver novo, posso considerar uma reinstalação apenas para deixá-lo limpo e limpo :)

informação relacionada