O dono do / usr deve ser root?

4

Depois de ter instalado o banco de dados MySQL em openSUSE Percebi que para todos os arquivos em /usr/bin o dono foi alterado para o usuário" mysql "do grupo" mysql ". Talvez tenha havido algum erro meu. O pior problema foi com o comando /usr/bin/sudo , que obviamente não funcionou, mas eu retomei a propriedade para root (tendo logado em root ) e é OK agora.

Devo alterar o proprietário de todos os arquivos em /usr/bin para root ou isso pode causar algum mau funcionamento de outros programas? Eles também devem ter a opção "Set UID" marcada na guia Privileges como sudo ?

    
por Voitcus 26.07.2014 / 14:26

2 respostas

6

Sim, todos os arquivos em /usr devem ser de propriedade de root, exceto que os arquivos em /usr/local podem ou não pertencer a root, dependendo das políticas do site. É normal que o root possua arquivos que apenas um administrador do sistema deve modificar.

Existem alguns arquivos que precisam ser de propriedade do root, ou seu sistema não funcionará corretamente. Esses são setuid executáveis raiz, que são executados como root, não importando quem os invocou. Binários comuns de root setuid incluem su e sudo (programas para executar outro programa como um usuário diferente, após a autenticação), sudoedit (um complemento para sudo para editar arquivos em vez de executar programas arbitrários), e programas para modificar contas de usuários ( passwd , chsh , chfn ).

Além disso, vários programas precisam ser executados com privilégios de grupo adicionais e precisam pertencer ao grupo apropriado (e pelo usuário root) e ter o bit setgid definido.

Você pode e deve restaurar as permissões apropriadas do banco de dados de pacotes. Se você tentar reparar manualmente, você está fadado a perder alguma coisa e deixar alguns erros difíceis de diagnosticar por aí. Execute os seguintes comandos:

rpm -qa | xargs rpm --setugids --setperms
    
por 26.07.2014 / 15:42
3

Editar: Veja a resposta de Gilles para uma maneira de corrigir as permissões e os proprietários em vez de tentar ajustar com base na minha (provavelmente você está incompleta) lista.

Existem alguns arquivos que normalmente pertencem a outro grupo. Trecho do meu sistema:

$ lsb_release -d
Description:    Debian GNU/Linux 6.0.9 (squeeze)

$ find /usr/bin -not -group root -exec ls -g {} \; | awk '{print $NF,$3}'
/usr/bin/crontab crontab
/usr/bin/mlocate mlocate
/usr/bin/mutt_dotlock mail
/usr/bin/expiry shadow
/usr/bin/mail-unlock mail
/usr/bin/wall tty
/usr/bin/mail-touchlock mail
/usr/bin/bsd-write tty
/usr/bin/screen utmp
/usr/bin/dotlockfile mail
/usr/bin/chage shadow
/usr/bin/ssh-agent ssh
/usr/bin/mail-lock mail

Arquivos com bit SUID:

$ find /usr/bin -perm -4000
/usr/bin/newgrp
/usr/bin/sudoedit
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/sudo
    
por 26.07.2014 / 15:11