Questão Permissões de arquivos e pastas iniciais não puderam ser determinadas


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 ]`

Então 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')

Então eu mudei o proprietário e as permissões de ambos /etc/default/activemq e /home/leo/.activemqrc com

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


 Mudar as permissões de ~ / .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

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 seja listado como eu Eu corri o seguinte comando:

find ~ -type d -exec chmod 750 \;

e tenho essa 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 depois

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.

Aquela era apenas uma má idéia.


2
2017-08-25 18:11


origem


@Alex, não, não use RT * M, não aceitamos linguagem ruim de forma alguma, disfarçada ou não. meta.stackexchange.com/questions/23628/… - Tim


Respostas:


Você primeiro tenta consertá-lo estava faltando '{}' mas depois você tornou as coisas muito piores ...

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

Primeiro, chown seu diretório pessoal. 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ê tiver executado algo realmente mal aconselhado como (não execute) chmod -R 777 ~, em seguida, corrigir as permissões será mais complicado.

find é muito útil para isso. As permissões de diretório em sua casa podem variar 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, em vez disso, usar 755 e depois corrija estes modos:

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

Então 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 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 em vez disso, e depois corrija o modo do Xauthority arquivo 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

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


2
2017-11-28 12:50