O proprietário do arquivo do CentOS foi alterado na edição

4

Eu tenho o seguinte problema. No servidor Unix (CentOS 5.5), vários usuários pertencentes ao mesmo grupo têm acesso aos mesmos arquivos (via ssh). Depois que um usuário em particular (digamos, usador A) tiver editado o arquivo, o proprietário do arquivo será alterado para A, o grupo (G) e as permissões (0664) permanecerão intactas. Uma vez que um segundo usuário (B) tenta modificar o mesmo arquivo, ele não tem permissão para fazê-lo. Se, por outro lado, o usuário B modificar o arquivo, então A poderá alterá-lo sem problemas (exceto estragar as permissões).

Eu entendo que há algo errado com as permissões / grupos, mas não consigo descobrir o que. Então, qualquer ajuda seria apreciada.

Fornecendo mais informações:

$ ls -l /path/file
-rwxrwxr-x 1 B G 42269 jan 14 10:30 file

$ getfacl /path/file
# file: file
# owner: B
# group: G
user::rwx
group::rwx
other::r-x

$ ls -ld /path
drwxrwxr-x 12 B G 4096 jan 14 10:24 .

$ getfacl /path
# file: .
# owner: B
# group: G
user::rwx
group::rwx
other::r-x
    
por Linards Kalvāns 14.01.2013 / 09:53

1 resposta

2

A tem permissão para gravar no diretório, portanto, o editor de A grava um novo arquivo /path/file.tmp (ou algum nome semelhante) e, em seguida, move o novo arquivo para /path/file . Como A acabou de criar o arquivo, ele é de propriedade de A.

B não tem permissão para gravar no diretório, então o editor de B sobrescreve o arquivo existente, o que não altera a propriedade.

(Veja Como faço para editar um arquivo e preservar sua lista de controle de acesso / contexto de segurança do SELinux? para saber o motivo pelo qual os editores fazem essas coisas.

Parece que A está no grupo G, mas B não está. A maneira mais fácil de resolver isso seria certificar-se de que A e B sejam ambos no grupo G ou ambos, não no grupo G.

    
por 12.02.2013 / 01:37