Setcap-changes são permanentes


11

Ao usar o setcap para um arquivo, essa alteração é permanente ou preciso chamar o setcap em algum lugar no momento da inicialização?

setcap cap_sys_nice fooexecutable

Respostas:


15

O setcap no arquivo armazena os recursos em um atributo estendido com uma chamada para setxattr . Este atributo estendido é armazenado como outros atributos (propriedade, direitos ...) no sistema de arquivos.

Desde o kernel 2.6.24, o kernel suporta a associação de conjuntos de recursos a um arquivo executável usando setcap (8). Os conjuntos de recursos de arquivo são armazenados em um atributo estendido (consulte setxattr (2)) denominado security.capability.

Portanto, você não precisa redefinir seu limite em cada reinicialização.


e se o arquivo for substituído?
Ryanwinchester #

1
@ryanwinchester se apenas o conteúdo do arquivo for alterado, não há problema, mas se o arquivo for removido / recriado, a capacidade do setcap também será removida.
Cédric Julien

. :( Ah, então isso é problema meu eu tenho um script que recria um diretório e, em seguida, começa uma escuta servidor na porta 80. i precisa descobrir uma maneira de não ter que correr setcapcada vez
ryanwinchester

"se apenas o conteúdo do arquivo for alterado, não há problema" não é verdadeiro. Alterar o conteúdo de um arquivo fará com que seus recursos sejam removidos. Veja unix.stackexchange.com/a/283408/2526
Richard Fearn

0

As alterações são permanentes, mas tive problemas ao usá-lo nodejs.

Você pode usar authbindpara fornecer permissão pelo usuário

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.