+1: pergunta interessante.
O Freefilesync pode exigir sudo
privileges para fazer o backup de determinados arquivos nos volumes que ele analisa.
Para meu conhecimento, não é bom preservar rwx
de propriedade de arquivos.
Se você executá-lo a partir do cli, a sintaxe apropriada é:
$ sudo -i -g bruni /usr/bin/FreeFileSync "${HOME}"/.FreeFileSync/backup-jobref.ffs_batch 2> "${HOME}"/.FreeFileSync/backup-jobref.ffs_log
Os itens acima supõem que dentro da GUI do FreeFileSync você definiu previamente um trabalho em lote e o salvou como: "${HOME}"/.FreeFileSync/backup-jobref.ffs_batch
.
Se, no entanto, você pretender executar o trabalho a partir de um script automatizado, verifique se as variáveis usadas explícita ou implicitamente são conhecidas no ambiente de execução do ano ( cron
, udev
, ...):
-
$HOME
-
$DISPLAY
Não deixe indefinido no seu script, inclua por exemplo:
# define local default display and pass it on to any child process
DISPLAY=:0 ; export DISPLAY
DISPLAY=:0 ; export DISPLAY
pode não ser adequado ao seu caso de uso se você estiver fazendo administração remota em um volume distante durante a execução de uma instância remota do FreeFileSync. Nesse caso, você terá que definir DISPLAY adequadamente.
Se você não quiser digitar sua senha sudo
sempre que a tarefa de backup for executada, ou se desejar que ela seja executada autônoma , vá para: /etc/sudoers.d/
and sudo -edit o arquivo 10_user
ou qualquer nome que você escolher, com:
%admin yr_host = NOPASSWD: /usr/bin/FreeFileSync
onde admin
é qualquer grupo de usuários que contenha você e aqueles que você autorizar para executar o FreeFileSync com privilégios de root. Visite man sudoers
para aprender sobre a gramática e a sintaxe das regras sudoers
.
Mais detalhes sobre sudoers
estão fora do escopo do OP, mas para ser um pouco mais completo, apenas mais dois comentários.
1) PADRÃO DE REGRA PARA sudoers
# who where = tags:(as_whom) what
# "who" is either a group or a collection of users
# "where" is a host or a collection of hosts
# "tags" is the permission granted to "what" is being allowed
# "as_whom" specifies under whose guise the cmd(s) are executed;
# can be a user "user:" or a group ":group"
# or a user and group "user:group"
# "what" is a cmd or a collection of cmds
2) AVISO: mexer com sudoers
pode acabar com um usuário sorrindo ou criando um buraco negro de segurança ou impedindo que ele e outros usuários acessem sudo
ao todo. No último caso, com isso você ainda pode ir para casa à noite e ter bolo de ano também. Certifique-se de que você sabe o que está fazendo.
Os testes acima são bons para mim em um desktop LTS 14.04.4 simples, mas pode ter mais segurança. Fazer isso não é terrivelmente complicado, mas novamente fica fora do escopo desta questão.
HTH