Por que o root não pode abrir o dispositivo pseudo-terminal? (permissão negada)

2

Usando um usuário não-root, estou criando um pseudo terminal com o socat assim:

socat -d -d PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=/tmp/com1-pty,raw,echo=0

e preciso de um aplicativo raiz para abrir este /tmp/com1-pty . Qualquer tentativa de fazer isso resulta em uma permissão negada e na seguinte mensagem do syslog:

Feb 10 17:21:06 ti0085 kernel: [  590.692819] type=1702 audit(1392060065.998:1004788): op=follow_link action=denied pid=6091 comm="menu" path="/tmp/com1-pty" dev="sda1" ino=48758820

Eu tentei muitas coisas, incluindo a configuração de permissões para o /tmp/com1-pty e o dispositivo para o qual ele está vinculado ao 777. Também adicionei raiz ao grupo de discagem - mesmo que eu não acredite que faria qualquer diferença, pois Eu esperaria que a raiz pudesse abrir qualquer coisa.

O que estou fazendo de errado?

    
por Tarc 10.02.2014 / 20:59

2 respostas

3

Eu configurei o aplicativo raiz para abrir diretamente o dispositivo em / dev / pts / X e ele funcionou, embora continuasse a falhar com o sym. ligação. Eu também tenho aplicações não-raiz abrindo os links simbólicos criados pela socat e comunicando-se adequadamente com o aplicativo raiz sem problemas.

Também é importante notar que, se a socat fosse executada como root, tudo funcionaria sem problemas, desde que as permissões dos links simbólicos estivessem definidas apropriadamente.

    
por 11.02.2014 / 01:42
0

Você está executando o SELinux, Apparmor ou um dos outros módulos de segurança do Linux que restringe ainda mais o acesso, mesmo para o root.

    
por 22.03.2016 / 23:00