Meu sistema operacional: debian9.
O sistema de arquivos no meu disco:
$ sudo blkid | awk '{print $1 ,$3}'
/dev/sda2: TYPE="ext4"
/dev/sda1: TYPE="vfat"
/dev/sda3: TYPE="ext4"
/dev/sda4: TYPE="ext4"
/dev/sda5: TYPE="swap"
Agora chattr +i
para o meu /etc/resolv.conf
:
sudo chattr +i /etc/resolv.conf
chattr: Operation not supported while reading flags on /etc/resolv.conf
ls -al /etc/resolv.conf
lrwxrwxrwx 1 root root 31 Jan 8 15:08 /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
sudo mount -o remount,acl /
sudo chattr +i /etc/resolvconf/run/resolv.conf
chattr: Inappropriate ioctl for device while reading flags on /etc/resolvconf/run/resolv.conf
Como definir chattr +i
para o meu /etc/resolve.conf
?
/dev/sda1
está vazio para janelas.Meu debian está instalado em
/dev/sda2
$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 1948840 0 1948840 0% /dev tmpfs 392020 5848 386172 2% /run /dev/sda2 95596964 49052804 41644988 55% /
acl
está instalado.$ dpkg -l acl Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii acl 2.2.52-3+b1 amd64 Access control list utilities
Nenhuma informação de saída destes comandos findmnt:
sudo findmnt -fn / | grep -E "acl|user_xattr" sudo findmnt -fn / | grep vfat sudo findmnt -fn $(dirname $(realpath /etc/resolv.conf)) | grep tmpfs
O seu
/etc/resolv.conf
provavelmente é um link simbólico. Veja esta explicação para mais informações.Você poderia tentar:
O ponto de montagem raiz suporta listas de controle de acesso (acl) ou atributos estendidos ?
Confira através de:
Sua partição raiz é do tipo 'VFAT'? Acredito que 'VFAT' não suporta ACLs .
Confira através de:
Ou talvez o diretório de destino do link simbólico seja um tmpfs ? ACLs são perdidas em tmpfs
Teste-o:
Felicidades
Como você viu, parece que você não pode definir
chattr
atributos em links simbólicos. Além disso, eles não têm suporte notmpfs
. A página de manual parachattr
menciona queE não há menção ao sinalizador imutável ou
chattr
emtmpfs(5)
.ACLs ou atributos estendidos não tem nada a ver com isso,
chattr
os atributos são armazenados diretamente no inode, conforme vistoext4
nesta tabela da estrutura do inode .Você precisará encontrar outra maneira de impedir que seus programas o modifiquem.
systemd-resolved
deve ser inteligente o suficiente para deixar o arquivo sozinho se você substituir o link simbólico por um arquivo estático:Se você tiver outros programas que possam modificá-lo (como um cliente DHCP), precisará reconfigurá-los. Ou
chattr +i /etc/resolv.conf
depois de torná-lo um arquivo estático em vez de um link simbólico, mas cuidado, pois o que quer que tente escrevê-lo pode não gostar dos erros resultantes.Tente com o sinalizador -f
Inicializar em um live cd ou usb linux install e navegar até resolv.conf no disco rígido permite que a sintaxe padrão do chattr seja implementada.