Por que mudar o dono de um link simbólico no linux?

7

No linux, é possível alterar o proprietário ou o proprietário do grupo de um link simbólico (link simbólico). Fiquei me perguntando por que alguém iria querer fazer isso, já que as permissões de um link simbólico não são usadas ao acessar um arquivo através dele.

Eu só posso imaginar um caso de uso em que poderia ser útil: permitir que um usuário exclua um symlink em um diretório com bit pegajoso.

Você conhece outros casos em que pode ser útil alterar o dono ou o proprietário do grupo de um link simbólico?

    
por user368507 02.03.2012 / 00:37

4 respostas

5

Suponha que o root esteja funcionando em um diretório para o qual Eve possa escrever. Há um arquivo foo neste diretório que precisa ser alterado para pertencer a Eve. Então, tipos de raiz chown eve foo . Mas logo antes da raiz entrar, Eve executa ln -sf /etc/passwd foo . Agora /etc/passwd pertence a Eva! Se o root puder executar chown -h eve foo para ter certeza de não seguir links simbólicos, então o maior dano que pode ser feito é que algum outro arquivo no mesmo diretório tenha sido alterado para pertencer a Eva.

lchown também é conveniente quando você está alterando o proprietário de uma árvore de diretórios. Você não precisa se preocupar em afetar acidentalmente um arquivo fora da árvore porque chamou chown em um link simbólico.

    
por 02.03.2012 / 01:09
8

O Apache pode ser configurado para seguir links simbólicos somente se o proprietário do link corresponder ao proprietário do destino. Isso pode ajudar a impedir que os usuários criem links para acesso à Web a arquivos que eles não possuem (por exemplo, / etc / passwd).

... digamos que você, como root, queria que o apache seguisse um link para exibir um determinado arquivo de log, que era de xymon ou algo assim, mas você não queria relaxar o apache segurança, permitindo que ele siga links simbólicos, independentemente do proprietário. Então você pode querer tornar o xymon o dono do link simbólico.

    
por 02.03.2012 / 00:47
2

A primeira resposta não parece abordar a questão, e a segunda só se aplica ao Apache.

Uma coisa que eu posso pensar para o Linux em geral é que só é possível para um usuário comum fazer um link físico para um link simbólico se o usuário for o proprietário do link simbólico. Por que alguém iria querer fazer tal link, eu não sei.

Outra coisa é que um usuário comum só pode alterar a propriedade do grupo de um arquivo se o usuário possuir o arquivo (e também é um membro do grupo ao qual o arquivo está sendo adicionado). propriedade de grupo de um link simbólico faz. Em uma organização, pode ser útil como tag para indicar qual equipe precisaria do link.

Além disso, pelo menos no Ubuntu, qualquer pessoa pode atualizar o timestamp de um link simbólico. No entanto, pode haver alguns sistemas que permitem apenas que o proprietário. Que bom o timestamp faz para um link simbólico, não tenho certeza, mas pode fornecer algumas informações úteis sobre o quanto ele é usado.

Edit: Acabei de perceber outra razão pela qual a propriedade seria importante. O link pode estar dentro de um diretório fixo, onde somente o proprietário de um arquivo pode deletar ou renomeá-lo.

    
por 03.02.2015 / 00:40
0

Eu tenho um programa que é anexado a um arquivo de log. Esses arquivos de log são criados mensalmente, cada um com um nome diferente. Em vez de fazer o software descobrir o nome exato do arquivo, eu uso um nome de arquivo "genérico" (digamos, data.log), que é um link simbólico que aponta para o arquivo atual daquele mês. Isso é automatizado em um cron job.

Agora, à medida que um novo arquivo mensal é criado, ele precisa apontar o link simbólico para o novo arquivo. Se houver um conflito de propriedade / grupo, o software não poderá alterar o link simbólico. Então, você precisa de privilégios de propriedade / gravação em grupo para alterar o link simbólico.

    
por 05.06.2016 / 05:05

Tags