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 por meio dele.
Só posso imaginar um caso de uso em que isso poderia ser útil: permitir que um usuário exclua um link simbólico em um diretório com bits persistentes.
Você conhece outros casos em que pode ser útil alterar o proprietário ou o proprietário do grupo de um link simbólico?
mv myfile foo
e o root acabará alterando o proprietário demyfile
. Masmyfile
deve ser um arquivo que Eve possa criar ou mover para esse diretório, não pode haver nenhum arquivo no sistema.chown -h
como medida de precaução ao alterar a propriedade de um arquivo que não deveria ser um link simbólico, mas ainda pode ser (um caso de borda, IMO). Não explica por que alguém pode querer mudar a propriedade de um arquivo que, de fato, pretende ser um link simbólico, que é o que a pergunta foi feita.chown
alterar o proprietário de "um arquivo fora da árvore" é tudo o que você está alterando é o proprietário do diretório?chown -R
, que chama a chamada do(l)chown
sistema em cada entrada de diretório. Se a entrada do diretório for um link simbólico, você não deve chamar a chamada dochown
sistema, pois isso afetaria o destino do link que pode estar localizado fora da árvore.O Apache pode ser configurado para seguir links simbólicos apenas 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 da Web a arquivos que não possuem (por exemplo, / etc / passwd).
... então digamos que você, como root, desejava que o apache seguisse um link para exibir um determinado arquivo de log, pertencente a xymon ou algo assim, mas você não queria relaxar a segurança do apache, permitindo que ele seguisse links simbólicos, independentemente do proprietário . Em seguida, convém fazer do xymon o proprietário do link simbólico.
fonte
/etc/passwd
, o badguy pode ter acesso de leitura a esse arquivo sem ter nenhum outro acesso local - mas seria frustrado pelo fato de o link simbólico pertencer ao apache.A primeira resposta não parece abordar a questão, e a segunda se aplica apenas ao Apache.
Uma coisa que posso pensar no linux em geral é que apenas um usuário comum pode criar 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 gostaria de fazer esse link, eu não sei.
Outra coisa é que um usuário comum só pode alterar a propriedade do grupo de um arquivo se ele for o proprietário do arquivo (e também é um membro do grupo ao qual o arquivo está sendo adicionado.) Isso levanta a questão sobre qual propriedade do grupo o arquivo um link simbólico sim. Em uma organização, pode ser útil como uma tag para indicar qual equipe precisaria do link.
Além disso, pelo menos no Ubuntu, qualquer pessoa pode atualizar o registro de data e hora de um link simbólico. No entanto, pode haver alguns sistemas que permitem apenas o proprietário. De que serve o carimbo de data / hora para um link simbólico, não tenho certeza, mas pode fornecer algumas informações úteis sobre o quanto é 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 apenas o proprietário de um arquivo pode excluí-lo ou renomeá-lo.
fonte
Eu tenho um programa que anexa a um arquivo de log. Esses arquivos de log são criados mensalmente, cada um com um nome diferente. Em vez de o software descobrir o nome exato do arquivo, eu uso um nome de arquivo "genérico" (por exemplo, data.log), que é um link simbólico que aponta para o arquivo atual daquele mês. Isso é automatizado em um trabalho cron.
Agora, quando 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. Portanto, você precisa de privilégios de propriedade / gravação em grupo para alterar o link simbólico.
fonte
Se você deseja ter um link para um arquivo na tela de abertura, o link simbólico deve estar no
"/ home / nome de usuário / área de trabalho"
diretório.
E o próprio link simbólico deve ter propriedade root: root (0: 0), caso contrário, o link não funcionará.
(Ubuntu / Debian etc.)
fonte