Como posso fazer com que o hostapd_cli trabalhe sob o sudo no debian stretch?

1

Eu tenho um script bash que executa hostapd_cli all_sta e o script é executado com sucesso a partir da linha de comando em jessie e stretch. O script também funciona quando executado sob o sudo no jessie, mas não no trecho. No alongamento, o comando expira com o erro 'STA-FIRST' command timed out . Quando invoco o hostapd_cli under strace, vejo que ele abre um arquivo de soquete em / tmp:

bind(3, {sa_family=AF_UNIX, sun_path="/tmp/wpa_ctrl_13552-1"}, 110) = 0
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/hostapd/wlan1"}, 110) = 0

como teste, modifiquei temporariamente o script e adicionei uma linha:

echo "this is a test" >/tmp/test 2>/root/error

Quando o script modificado é executado sob sudo, o arquivo em / tmp não é criado e nenhum erro é gravado em / tmp / error

No meu sistema / tmp não é um tmpfs, apenas um diretório antigo simples sob / em um ext3 fs. Então, o root é incapaz de criar um arquivo em / tmp e não há espaço suficiente.

# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb2       6.7G  5.1G  1.4G  80% /

E um ls -ld / tmp dá:

# ls -ld /tmp
drwxrwxrwt 9 root root 4096 Jul 27 23:50 /tmp/

Se eu puder descobrir por que o / tmp não pode ser gravado, acredito que o comando hostapd_cli funcionará. O que poderia estar acontecendo aqui?

    
por Bob 28.07.2017 / 07:07

1 resposta

0

A razão pela qual isso não estava funcionando como esperado foi porque /tmp foi remapeado por systemd para /tmp/systemd-private-67fcab218d3d46bcb5092dd8a6d4789b-nagios-nrpe-server.service-lN2L1e/tmp

O problema não tem nada a ver com o sudo, mas com o fato de o sudo estar executando como um plugin rodando sob o daemon nrpe, que por sua vez foi configurado para ter um /tmp privado sob o systemd.

Para resolver, defini para:

systemctl stop nagios-nrpe-server
set PrivateTmp=false in /etc/systemd/system/multi-user.target.wants/nagios-nrpe-server.service
systemctl daemon-reload
systemctl start nagios-nrpe-server
    
por 13.03.2018 / 05:47