Controle as permissões de som, revogue o acesso ao áudio

1

Eu gostaria de controlar as permissões para usar a placa de som. Existem dispositivos "/ dev / snd / *", o proprietário é "root", o grupo é "audio", permissões "660". Então, eu esperaria que apenas usuários em grupo de "áudio" pudessem usar a placa de som, mas ela não funciona. Eu tenho um usuário "u1" que não está no grupo "audio", porém ele tem acesso! Descobri que o acesso é controlado com o ACL, portanto, getfacl mostra o seguinte:

# file: timer
# owner: root
# group: audio
# flags: --t
user::rw-
user:u1:rw-
group::rw-
mask::rw-
other::---

A linha "user: u1: rw-" magicamente aparece novamente, mesmo que eu a remova com setfacl .

Para mim, parece que há um processo de propriedade da raiz que adiciona permissões automaticamente a qualquer usuário que ignore a participação no grupo de "áudio".

Por que o acesso é concedido? Como revogar o acesso à placa de som para um usuário?

    
por kan 09.04.2014 / 18:44

1 resposta

0

Verifique o sistema

Para ativar o ACL, o sistema de arquivos deve ser montado com a opção acl.
É muito provável que a opção ACL já esteja ativa como opção de montagem padrão do seu sistema de arquivos.
Verifique a digitação (substitua sdXY pela partição correta):

sudo tune2fs -l /dev/sdXY | grep "Default mount options"

a saída deve ser algo como:

Default mount options:    user_xattr acl

verifique também se a opção de montagem padrão não foi substituída. Nesse caso, você verá noacl in /proc/mounts na linha relevante. Tipo:

sudo cat /proc/mounts | grep noacl

Se precisar, você pode definir as opções de montagem padrão de um sistema de arquivos usando o comando tune2fs -o option partition, por exemplo:

 tune2fs -o acl /dev/sdXY

Usando a ACL:

para modificar o uso da ACL setfacl :

setfacl -m "u:username:permissions

ou

setfacl -m "u:uid:permissions

por exemplo, para revogar o acesso à placa de som de um usuário, digite:

setfacl -m "u:u1:---" /dev/snd/controlC0 

Você pode facilmente tentar se funciona, colocando uma faixa de áudio e depois executando o comando: se o som for interrompido, o comando foi executado

Você também pode verificar se as permissões foram alteradas com:

getfacl /dev/snd/controlC0 ( Control Interface /dev/snd/controlCX )

Consulte o manual man acl e man setfacl para mais opções.

    
por girardengo 11.04.2014 / 21:20