Configure a variável env quando sudo como usuário do apache

3

Eu tenho o centos 7 webserser, todos os arquivos do site dentro de \www\sitename\htdocs\ pertencem ao usuário 'apache'.

Às vezes preciso de git pull como usuário do apache, por isso escrevi um script simples para o sudo como apache:

[ansible@vm123123 ~]$ cat ~/suwu.sh
#!/bin/sh

sudo setfacl -m apache:x   $(dirname "$SSH_AUTH_SOCK")
sudo setfacl -m apache:rwx "$SSH_AUTH_SOCK"

sudo -E su -s /bin/sh apache
[ansible@vm123123 ~]$

E funciona bem, eu posso logar como usuário do apache, alterar arquivos e encaminhar minha chave SSH para o git server.

Mas não é possível iniciar mc como apache:

sh-4.2$ mc

(mc:36339): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
The overwriting error message was: Cannot create "/usr/share/httpd/.cache/mc"

(mc:36339): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
The overwriting error message was: Cannot create "/usr/share/httpd/.local/share/mc"
Сбой запуска:
Cannot create "/usr/share/httpd/.config/mc"
sh-4.2$

É por isso que eu executo o mc assim:

sh-4.2$ MC_HOME=/tmp/MCHOME mc

Isso funciona, mas existe uma maneira de configurar MC_HOME para o apache uma vez no meu script ou em outro lugar?

    
por A K 24.12.2017 / 12:50

0 respostas

Tags