Cannot remove application

NethServer Version: 7.7.1908
Module: File server

Hello,

We have a running system for sometime now. We are happy with it. It runs under ESXi as a virtual server.

We just wanted to use NethServer for more than a simple router. So, I installed a File Server application on our NethServer to play with. It turned out that File server require Active Directory to work with user level share permissions (this is what module says, I know it is not a must on regular Linux installations, but that is another topic). However, we have installed LDAP server for our user management.

Now, I would like to remove installed application. We do not want to play with all these VPN settings and creating users from scratch again. We are going to install another NethServer on our ESXi as a virtual server and use it solely for fileserver purposes. Our thought is that will bring us an added security because passwords will not be same for VPN and File server.

When I go to software center it is not listed in there and I failed to find a way to make installed applications visible. So I think it is not possible to remove an application from Software Center.

When I go to Applications, I get a list of installed applications. (VPN, Firewall, File Server, Web server). There is just settings button and no remove button there.

When I go to settings of File server, I could not find any remove button anywhere.

Forum searches indicate there IS a remove button.

I appreciate if someone can let me know of location of that remove button for deleting not wanted applications.

Thanks & regards,
Ertan

Merhaba Ertan,

yum remove “packagename” should be what you are looking for.

Regards and be healty


Uwe

On Applictions, look for each app 3-dots menu (kebab/hamburger menu, or whatever it is called). Note the module is removed but could be leftovers (like underlying packages).

I do not see any such menu

Is Cockpit up to date? Check it in Software Center.

1 Like

I do not have any updates displayed in there.

I am not connected as user root. On the other hand, my user is in admin group. If that makes a difference.

2 Likes

a big difference :D, sounds quite a bug for me


confirmed, an admin cannot remove software but can install it.

One question, why are you only admin ?

2 Likes

No particular reason. I saw that group in the list and added my user when setting up VPN users. That’s all.

When connected as root, it seems to display that menu.

Thanks.

you showed me something really interesting, @giacomo an admin cannot remove an application even if he can install application, the kebab menu is not displayed for domain admins group. This sounds like a bug

3 Likes

Thank you for pointing it out! If the bug is reproducible, feel free to open the issue! :wink:

I prefer someone with prior knowledge issues the bug report, please.
Just in case :slight_smile:

1 Like

I think the following line at https://github.com/NethServer/nethserver-cockpit/blob/master/ui/src/components/applications/Applications.vue has to be changed, but I don’t know the right value.

vm.view.isRoot = success.status.isRoot;

For a better overview here line 223 to 244

    vm.view.isRoot = success.status.isRoot;
        },
        function(error) {
          console.error(error);
        },
        false
      );
    });
  },
  beforeRouteLeave(to, from, next) {
    $(".modal").modal("hide");
    next();
  },
  mounted() {
    var context = this;
    setTimeout(function() {
      context.initGraphics();
    }, 150);
    // get list of installed apps
    context.getHideUninstall();
    context.refresh();

Mmm maybe is the intended behavior? Honestly I don’t recall.

Hope that @filippo_carletti @edoardo_spadoni or @davidep can help here :slight_smile:

the culprit is L66

but IIRC we have a sudo permission issue, the fix could not be simply to add && isAdmin

we can add isadmin to add a shortcut (not remove it) and a link to the web page, but some code is missing for a full delegation

this look after an API that ask to be root, else you cannot remove

the culprit API

[root@ns7loc3 ~]# grep -srni 'HideUninstall' /usr/libexec/nethserver/
/usr/libexec/nethserver/api/system-apps/read:160:        $hide_uninstall = $db->get_prop('cockpit.socket', 'HideUninstall') || 'disabled';
/usr/libexec/nethserver/api/system-apps/read:163:    print encode_json({ 'HideUninstall' => $hide_uninstall });
[root@ns7loc3 ~]# grep -srni 'HideUninstall' /etc/e-smith/

hum we use this code only here

The issue which has introduced the new feature @giacomo @edoardo_spadoni

rather to use an API we could restrict the removeApp() to isRoot || isAdmin

1 Like

Hi @stephdl, thanks for correction. I’m not a developer.
Don’t know where ìsRoot method is defined, but don’t we have an isAdmin too?
As I’m not a developer perhaps the question is stupid, but can’t we change ìsRoot to ìsAdmin?

Curiosity is a quality :slight_smile:

IsRoot is well defined if you look below, isAdmin must be defined in the same way

I need to share this afternoon with the dev team but maybe this commit has been done before the delegation v2

Anyway it should be done.

1 Like