Como chmod arquivo eu tenho acesso, mas eu não sou o dono?

2

Primeiro, por que não posso fazer isso?

% id -un
me
% ls -l
-rw-rw-r--+ bob bob 100 today foo
% chmod +x foo
chmod: changing permissions of 'foo': Operation not permitted
% getfacl foo
# file: foo
# owner: bob
# group: bob
user::rw-
user:me:rwx
user:bob:rwx
group::rwx
mask::rw-
other::r--

Eu tenho a habilidade, mas chmod simplesmente não quer fazer isso. Isso funciona, por exemplo:

% cp foo bar
% mv bar foo
% chmod +x foo
(success!)

Com o efeito colateral adicional, o proprietário do arquivo agora é me . (Qual é o arquivo.) Este é realmente o caminho mais curto para conseguir isso?

(a versão ligeiramente mais curta,

% cp foo foo

para se apropriar também não funciona. Se eu não posso absolutamente chmod um arquivo que não possuo, existe uma maneira de "apropriar-se" que não envolva uma E / S completa do arquivo?)

    
por Thanatos 18.11.2013 / 21:23

1 resposta

2

É simples: o modelo de segurança não permite isso. a menos que seu sistema operacional tenha uma permissão change_acl, somente o proprietário de um arquivo ou o superusuário pode fazer alterações no acl. A maneira de contornar isso se você tiver as permissões é apropriar-se do arquivo, alterar as permissões e devolver o arquivo. tipicamente em sistemas unix o único que pode dar ou apropriar-se de um arquivo é root, mas como você encontrou uma maneira que funciona para apropriar-se de um arquivo é copiar o arquivo, para que você possua a cópia, e substituir o original com a cópia que você possui. mas agora é seu. também olha para o sudo funciona maravilhosamente para isso.

    
por 18.11.2013 / 21:33