# Root-Shell-Binary removed during port update, no su to root possible



## flux (Jan 15, 2019)

Hi there, 
somehow a update of the fish-shell port to 3.0 removed the /usr/local/bin/fish binary which is the shell for root in my case. I am still able to login to
an unprivileged user which is using /bin/sh and is part of the wheel group, but I am unable to su to root to fix that situation. 


```
$ su -
Password:
su: /usr/local/bin/fish: No such file or directory
```

Pretty much the same thing happens with a local login attempt. 
I have actually no idea how to override this as the su binary doesn't support the --shell flag as it does on linux. 
Any help is highly appreciated! 

Thanks in advance
flux*


----------



## SirDice (Jan 15, 2019)

This is one of the reasons why changing root's shell is a bad idea to begin with. Boot to single user mode, then you can change root's shell back to csh(1).


----------



## olli@ (Jan 15, 2019)

My recommendation is to use `su -m` (you can create an alias). Then you will get the same shell for root as the one you have as normal user, without having to change root's login shell, so the root account still works in emergency cases without having to reboot to single user mode.


----------



## Vull (Jan 15, 2019)

The `su -m` command option should also be able to fix this problem...

```
$ su -m root -c 'chpass -s /bin/csh root'
Password:
chpass: user information updated
$ su -
Password:
root@dellbsd24:~ # echo $SHELL
/bin/csh
root@dellbsd24:~ #
```

EDIT: or maybe not, but still might be worth a try...


----------

