Acabei de usar 'mv' em vez de 'cp' em arquivos importantes. Como evito isso no futuro?

0

Eu administro um conjunto de dados no meu local de trabalho (usando o Centos 7). Os arquivos de dados para este conjunto de dados estão em uma estrutura de arquivos em que tudo pertence a 'myuser: group', com permissão de gravação permitida somente para myuser (também conhecido por mim) para evitar que coisas ruins aconteçam.

No entanto, hoje eu simplesmente copiei um todo diretamente dos arquivos para um projeto e usei 'mv' em vez de 'cp' neles. Embora isso não tenha feito nada de mal, certamente me alerta para a possibilidade de algo ruim acontecer.

O objetivo é que eu queira que os usuários do 'group' possam 'cp' arquivos fora desta estrutura de diretórios, mas não tenham acesso de escrita. Esses arquivos já estão armazenados em outro lugar, então meu objetivo aqui é me impedir de fazer algo estúpido no futuro, não recuperar os arquivos em caso de estupidez.

Eu estava pensando em algo como fazer o root desses arquivos, então eu teria que 'sudo' para causar qualquer dano.

O que eu posso fazer para evitar que eu grave ou apague acidentalmente esses arquivos?

    
por kingledion 23.03.2017 / 20:32

3 respostas

3

Bem, há várias coisas que você pode fazer e todas as abordagens têm prós e contras.

Você pode definir a propriedade apropriada (como você está fazendo atualmente), onde o usuário tem acesso de rw (ou r ), o grupo tem r .

Você pode tornar os arquivos imutáveis  - modificando os atributos do arquivo, você pode impedir que o arquivo seja excluído ou modificado (mas será legível, se tiver r permissões) - chattr +i file . Se você precisar modificar o arquivo posteriormente, basta desativar o sinalizador +i com chattr -i .

Seja qual você escolher, você precisa seguir rigorosamente as políticas, os fluxos de trabalho e os procedimentos que decide implementar em sua organização. Eles vão mantê-lo de fazer tais erros ..

    
por 23.03.2017 / 21:04
2

Não tenho certeza se minha solução ajudará você, mas evita que eu faça coisas idiotas. Abra ~/.bashrc e adicione isto:

alias mv="ensure && mv"

ensure() {
    echo Are you sure about that? Type uppercase yes
    read ans
    if [[ $ans = YES ]] ; then
    return 0
    else
    return 1
    fi
}

Agora, você precisará digitar YES toda vez que quiser usar mv .

    
por 23.03.2017 / 21:47
2

E quanto ao aliasing mv --- > "mv -i" isto causará um prompt sempre que você mover um arquivo.

No csh você colocaria isso em ~ / .cshrc:

 alias    mv     "mv -i"
    
por 24.03.2017 / 01:55