Aqui estão as respostas:
-
root
tem sempre acesso completo a arquivos e diretórios. O dono do arquivo normalmente também os possui, mas isso nem sempre é verdade. Por exemplo:-r-xr----- 1 user1 users 199 Oct 14 18:42 otherfile.bin
user1
é o proprietário ; no entanto, eles só podem ler e executar , masroot
ainda tem acesso total ( rwx ) ao arquivo. -
RUID é o Real User ID e nunca (quase) muda. Se
user2
efetuar login no sistema, o shell será lançado com seu ID real definido comouser2
. Todos os processos que eles iniciam no shell herdarão o ID realuser2
como sua ID real.EUID é o ID de usuário efetivo , ele altera para processos (não para o usuário) que o usuário executa que definiram o bit setuid .
Se
user2
executarfile.bin
, o RUID seráuser2
e o EUID do processo iniciado seráuser1
.
Vamos usar o caso de passwd
:
-rwsr-xr-x 1 root root 45396 may 25 2012 /usr/bin/passwd
-
Quando
user2
deseja alterar sua senha , eles executam/usr/bin/passwd
. -
O RUID será
user2
, mas o EUID desse processo serároot
. -
user2
pode usarpasswd
para alterar somente sua própria senha porque internamentepasswd
verifica o RUID e, se não forroot
, suas ações serão limitadas para a senha do usuário real. -
É necessário que o EUID se torne
root
no caso depasswd
, porque o processo precisa ser gravado em/etc/passwd
e / ou/etc/shadow
.