Was changing ownership of everything to root the right thing to do?
Não . É, no entanto, a maneira mais rápida de pensar em colocar o sistema no estado normal.
- Existem muitos processos que exigem que alguns diretórios / arquivos sejam de propriedade de seus usuários. Exemplos incluem logs, caches, diretórios de trabalho / home de alguns processos como MySQL, LightDM, etc. Especialmente arquivos de log podem criar muitos problemas.
- Existem alguns aplicativos que são
setuid
/setgid
e, portanto, precisam que seu proprietário / grupo seja algo específico. Exemplos incluem/usr/bin/at
,/usr/bin/crontab
, etc.
I think running chown caused some of the folder and file permissions to be changed. Is that normal?
Eu duvido que os modos foram alterados. Se sim, definitivamente não é normal.
Would this cause any security vulnerabilities?
Como você acabou de definir No geral, eu recomendo simplesmente reinstalar o sistema - ou talvez você tenha backups de disco completo. /usr/bin/crontab
para pertencer a root
, agora você tem um aplicativo setuid que abre um editor. Eu duvido que alguma vulnerabilidade se compare a isso. Claro, essa é uma vulnerabilidade flagrante, então algo mais insidioso pode aparecer agora.
Aparentemente, chown(3)
deve limpar os bits setuid e setgid se o processo em execução não tenha os privilégios apropriados. E man 2 chown
para Linux diz:
When the owner or group of an executable file are changed by an unprivileged user the
S_ISUID
andS_ISGID
mode bits are cleared. POSIX does not specify whether this also should happen when root does thechown()
; the Linux behavior depends on the kernel version. In case of a non-group-executable file (i.e., one for which theS_IXGRP
bit is not set) theS_ISGID
bit indicates mandatory locking, and is not cleared by achown()
.
Assim, parece que os devs e os comitês de padrões forneceram safegaurds.