Hi, I’ve succeeded to mess up my rust installation and have no idea how to solve it. I’ve tried to install it with both the methods from Rust - openSUSE Wiki (but with transactional-update pkg install rustup instead of zypper due to MicroOS). The issue is still the same. This is how it looks when I try to update as user: ~> rustup update
info: syncing channel updates for ‘stable-x86_64-unknown-linux-gnu’
info: checking for self-updates
Yes. Nothing I have added. I suspect it is the default in MicroOS?
localhost:~ # sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
Do I need to tweak SELinux settings?
I tried distrobox with leap after @malcolmlewis answer. Within the distrobox leap, after installing gcc and rust again, it works. But it is a bit … slow. I make updates in the flatpak VSCodium, save, switch to the terminal with leap, compile with cargo build. And sometimes the changes isn’t reflected, then when I try again they are, so there are some caching somewhere i guess?
I’m still confused about best way of setting up the environment…
Maybe it would be better to install VSCodium within my leap to get them to work better together?
Thanks! Works.
So have I opened up my entire system to the world now?
I guess the correct solution would be to update the policies. At least I suspect that I need to update some config file somewhere to make the change permanent? (mark in output below.)
I add some more here to remember better next time I get around. 3 different SELinux modes: 1. Enforced : Actions contrary to the policy are blocked and a corresponding event is logged in the audit log. 2. Permissive : Permissive mode loads the SELinux software, but doesn’t enforce the rules, only logging is performed. 3. Disabled : The SELinux is disabled entirely. setenforce 0 changes from enforced to permissive. Looks like this with sestatus. localhost:~ # sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
Alternative is to check every application/library that exhibits this problem whether it really needs executable stack and if not, disable it using execstack command and file bug report against each application to build with -z noexecstack. And if application really needs it - extend SELinux policy to allow executable stack for this specific binary.
Thanks. Reassuring to hear that the system is still (fairly) secure.
This is too far from my comfort zone to file a bug report. I have no clue what I’m talking about and will not be of any use if there are questions. If you still want me to do it I will need a link to where to file the bug report.