As permissões de arquivos e pastas iniciais não puderam ser determinadas

2

Eu estava tentando criar um arquivo de configuração padrão para o activemq com o comando

sudo ./activemq setup [ /etc/default/activemq | /home/leo/.activemqrc ]'

Em seguida, recebi esta mensagem:

INFO: It's recommend to limit access to '/etc/default/activemq' to the priviledged user
INFO: (recommended: chown 'root':nogroup '/etc/default/activemq'; chmod 600 '/etc/default/activemq')

Em seguida, alterei o proprietário e as permissões de /etc/default/activemq e /home/leo/.activemqrc com

chown root:nogroup ~/activemqrc; chmod 600 ~/.activemqrc


Mudar as permissões do ~ / .activemqrc foi sem dúvida um grande erro. Eu dei uma olhada nas permissões em cada arquivo e pasta no meu Lar e ele diz:

The permissions of "Everything" could not be determined

Eu não consigo mais acessar os diretórios e arquivos em casa.

Seguindo a resposta de Permissão negada em ~ mesmo que o proprietário listado como eu eu corri o seguinte comando:

find ~ -type d -exec chmod 750 \;

e obtive esta saída:

find: pred.c:1932: launch: Assertion 'starting_desc >= 0' failed.

Existe alguma maneira de recuperar minhas configurações padrão?

EDITAR

Eu então tentei isso:

sudo chown root:root ~/

não obteve saída e então

sudo chmod -R  777 ~/

Isso praticamente resolveu meu problema, mas para dois arquivos que retornaram

chmod: cannot access '/home/leo/.gvfs': Permission denied
chmod: cannot access '/home/leo/.config/google-chrome/.com.google.Chrome.Z07tM9': No    such file or directory.

ISTO FOI UMA IDEIA MAU.

    
por TheEYL 25.08.2014 / 20:11

1 resposta

2

Você primeiro tentou consertá-lo estava faltando apenas '{}' , mas então você tornou as coisas muito piores ...

Quase não há um motivo para qualquer arquivo ter 777 permissões, e dificilmente há um bom caso de uso para o sinal -R ao usar chmod , porque precisamos que os diretórios sejam executáveis para entrar ou declará-los, mas raramente queremos que todos os arquivos sejam executáveis.

Primeiro, chown do seu diretório inicial. Conectado como você mesmo, execute

sudo chown -R $USER: ~

Se você simplesmente executar algo como

chmod 600 ~

Em seguida, reverta:

chmod 755 ~

No entanto, se você executou algo realmente imprudente como ( não executar ) chmod -R 777 ~ , a correção das permissões será mais complicada.

find é muito útil para isso. As permissões de diretório em sua casa variam e podem ser 700 , 775 , 755 ou 750 . Para errar do lado da cautela, eu faria isso:

find ~ -type d -exec chmod 700 '{}' +

Então, só você pode acessar os diretórios. Você poderia usar 755 e corrigir esses modos:

chmod 700 ~/.local ~/.cache ~/.dbus ~/.thumbnails ~/.gconf ~/.thunderbird

Em seguida, arquivos. Você pode ter alguns scripts executáveis em sua casa, mas em geral os arquivos não devem ser executáveis. A maioria dos arquivos em sua casa provavelmente teria 664 ou 644 de permissão, mas, novamente, para estar seguro, você pode querer ir com

find ~ -type f -exec chmod 600 '{}' +

Isso faz com que apenas você possa acessar os arquivos e diretórios em sua casa. Se preferir, use 644 e corrija o modo do arquivo Xauthority e alguns outros:

chmod 600 ~/.Xauthority ~/.ICEauthority ~/.bash_history ~/.local/share/keyrings/* ~/.xsession-errors ~/.lesshst

Se você quer ser realmente completo, você pode instalar uma nova VM Ubuntu ou verificar as permissões de ~ em outra máquina ... algo como

find ~ -type d -not -perm 700 -exec stat -c "%n %a" {} \; | tee dirperms

e

find ~ -type f -not -perm 600 -exec stat -c "%n %a" {} \; | tee fileperms

Irá gerar listas que você pode usar para fazer correções.

    
por Zanna 28.11.2016 / 13:50