Still in the process of taking care of .pacnew files and came across /etc/default/useradd.pacnew from January 16th of this year (according to the output of ls -la /etc/default/useradd.pacnew).
For the most part it’s just new text comments in the .pacnew file. The one thing I couldn’t wrap my head around is the change in the shell variable.
My original file looks like this:
# useradd defaults file for ArchLinux
# original changes by TomK
…
SHELL=/bin/zsh
…
while the .pacnew changes this one to bash:
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
SHELL=/usr/bin/bash
…
I’ve searched the forum for Manjaro, ArchLinux and even the Manjaro Gitlab for any details about the change but couldn’t find any information. Why the change in the shell variable? Should I keep the original content or change this one to bash?
The only other thing that’s left is /etc/pam.d/polkit-1.pacsave. If I call pacdiff -s, it drops a warning and wants to delete the file. Should I do that or take any kind of precautions?
==> pacsave file found for /etc/pam.d/polkit-1
==> WARNING: /etc/pam.d/polkit-1 does not exist
rm: remove regular file '/etc/pam.d/polkit-1.pacsave'?
This file is only for what the default login shell will be for new users.
So it cant really hurt your current user.
But the previous file looks a bit off, including that it should be /usr/bin.
Arguably the default login shell should be bash, but you can also put /usr/bin/zsh there if you like.
( note: of course you should make sure to have the relevant shell installed )
The precaution is the pacsave.
You arent ‘supposed’ to have that file.
And the pacsave extension means it wont be active.
So if you dont have a known use for it, and things work normally, then you should be fine to remove it.
Just for some reassurance:
Save the missing comments, order, and the SHELL line, this is otherwise identical to mine.
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
SHELL=/usr/bin/bash
# The default group for users
GROUP=users
# The default home directory.
HOME=/home
# The number of days after a password expires until the account is permanently
# disabled
INACTIVE=-1
# The default expire date
EXPIRE=
# The SKEL variable specifies the directory containing "skeletal" user files;
# in other words, files such as a sample .profile that will be copied to the
# new user's home directory when it is created.
SKEL=/etc/skel
# Defines whether the mail spool should be created while
# creating the account
CREATE_MAIL_SPOOL=no
And with all the comments it comes pretty close to the new .pacnew file.
I wonder where this ‘TomK’ file comes from or why Manjaro installed this one back in February last year. I can find it when searching for “# original changes by TomK” in Google. At some point this had to be the standard.
Wasn’t able to find any commit or something in the Manjaro Gitlab that might explain the change.
Found something similar but all these are over 5 years old. That’s why I thought this couldn’t have something to do with the recent .pacnew from back in January.
There wasn’t. The default shell has always been BASH, however the default in our GNOME and KDE editions is ZSH. It’s up to you which you want to use.
The upstream defaults are now in /usr/lib/pam.d/polkit-1. If you have custom changes you want to keep, then restore the pacsave file to override it. Otherwise remove the pacsave.
That may be true for gnome.
But for KDE it is (and should be) bash for the login shell.
The KDE edition makes use of konsole profiles to apply zsh to the terminal emulator.
(interactive non-login shell)
Correct. I switched over from Ubuntu LTS where I used bash over the years but I don’t mind the look and feel of zsh. It’s not that big of a difference until now.
Thanks for the tip. I didn’t make any custom changes to the original file (at least none I would remember) but I’ll compare the two files just in case before removing the .pacsave.
EDIT @ 00:28
I’ve compared the two files. The new file at /usr/lib/pam.d/polkit-1 seems to have gotten rid of the first four lines.
Turns out that pam_fprintd is a module for fingerprints. Since my desktop PC doesn’t have a fingerprinting sensor, I think it’s okay to ditch the line. pam_env, pam_unix, pam_deny get called via system-auth in the unchanged lines which leads me to believe I can safely remove the .pacsave.