Eu tenho um script de upload de backup que arquivos do scp para outro servidor usando o usuário upload
. Outro script no servidor de destino os exibe para outro usuário e define o modo de arquivo como 755
.
Se eu fizer o SSH no servidor de destino usando o upload
usuário, sou capaz de excluir os arquivos conhecidos. Eles não deveriam ser somente leitura?
Aqui está a aparência de um arquivo no servidor de destino e o usuário upload
pode excluí-lo.
-rwxr-xr-x 1 maciekish maciekish 650M Nov 1 01:07 2014-11-01-data.tar.bz2
O usuário upload
acabou de ser adicionado useradd
e não faz parte do maciekish
grupo.
Ao tentar excluir o arquivo como upload
via ssh, recebo a pergunta se quero excluir "arquivo regular protegido contra gravação" e posso dizer Y
e excluí-lo.
linux
security
file-permissions
Maciej Swic
fonte
fonte
rm
remover arquivos somente leitura?Respostas:
Os arquivos são somente leitura; no entanto, a exclusão de um arquivo não o modifica, mas apenas o diretório pai (basicamente remove o arquivo da listagem de diretórios) - e parece que você tem permissões completas de gravação no diretório.
Você pode definir o
sticky
bit - também conhecido como sinalizador "exclusão restrita" - que impedirá qualquer pessoa, exceto o proprietário, de renomear ou excluir arquivos nesse diretório (como em/tmp
). Para fazer isso, executechmod o+t *directory*
como o proprietário do diretório.fonte
Em um sistema de arquivos Unix típico, qualquer arquivo pode ser identificado por um número arbitrário de entradas de diretório, cada uma contendo um "link físico".
Do ponto de vista da implementação, há uma diferença entre excluir a última entrada de diretório (link físico) para um arquivo e simplesmente excluir uma referência dentre muitas. No entanto, do ponto de vista semântico, não há diferença.
Se existirem vários links físicos para um arquivo, a gravação no arquivo usando qualquer um deles altera o arquivo visto por todos eles. O uso
rm
em um link, no entanto, apenas faz com que o arquivo não seja acessível por esse link. Outros links para o arquivo continuam a ver exatamente o mesmo arquivo.fonte
st_nlink
("número de links físicos") emstruct stat
. Simplificando, os diretórios contêm links físicos para arquivos.