Korzystanie z flagi noexec
Jeśli zamontowano ścieżki /var i /tmp z flagą noexec i zastrzeżony zapis dla /opt, to instalacja programu ESET Server Security for Linux zakończy się niepowodzeniem z następującym komunikatem o błędzie:
Invalid value of environment variable MODMAPDIR. Modules cannot be loaded. |
Obejście
Poniższe polecenia należy wykonać w oknie terminalu.
1.Utwórz folder z włączoną flagą exec oraz z poniższym właścicielem i zestawem uprawnień:
/usr/lib/efs drwxrwxr-x. root eset-efs-daemons |
2.Wykonaj następujące polecenie:
# mkdir /usr/lib/efs |
3.Zastąp /opt/eset/lib/modules dowiązaniem symbolicznym:
# rmdir /opt/eset/lib/modules # ln -s /opt/eset/lib/modules /usr/lib/efs |
4.Skompiluj wymagane moduły:
# /opt/eset/efs/bin/upd --compile-nups |
5.Uruchom ponownie usługę efs:
# systemctl restart efs |
Jeśli normalny, nieuprzywilejowany użytkownik uruchamia narzędzia efs, możesz uzyskać ten sam błąd, gdy katalog na stronie głównej użytkownika jest zamontowany jako noexec.
Obejście
1. Zezwól innym na używanie /opt/eset/lib/modules
# chmod o+rwx /opt/eset/lib/modules |
2a.Możesz też utworzyć folder, w którym włączono exec dla określonego użytkownika:
# mkdir /usr/lib/efs-user # chown <user>:<user_group> /usr/lib/efs-user # chmod 770 /usr/lib/efs-user |
2b.Uruchom narzędzie z określoną zmienną MODMAPDIR, na przykład:
# MODMAPDIR=/usr/lib/efs-user /opt/eset/efs/bin/lslog -s |