[Buildroot] [PATCH 1/1] Fix umask settings for non-bash shells for root user
Yann E. MORIN
yann.morin.1998 at free.fr
Sat Aug 29 09:20:37 UTC 2015
Petr, All,
On 2015-08-29 10:57 +0200, Thomas Petazzoni spake thusly:
> On Mon, 15 Jun 2015 16:20:26 +0200, Petr Vorel wrote:
> > From: Petr Vorel <petr.vorel at gmail.com>
> >
> > .bash_profile is not readed by some shells (e.g. busybox), so move umask into
> > .profile. Here it's also loaded .bashrc, when presented and shell is
> > bash.
> >
> > CREDITS: inspired by Debian skeleton files.
> >
> > Signed-off-by: Petr Vorel <petr.vorel at gmail.com>
> > ---
> > system/skeleton/root/.bash_profile | 7 -------
> > system/skeleton/root/.profile | 10 ++++++++++
> > 2 files changed, 10 insertions(+), 7 deletions(-)
> > delete mode 100644 system/skeleton/root/.bash_profile
> > create mode 100644 system/skeleton/root/.profile
> >
> > diff --git a/system/skeleton/root/.bash_profile b/system/skeleton/root/.bash_profile
> > deleted file mode 100644
> > index 0ee04a3..0000000
> > --- a/system/skeleton/root/.bash_profile
> > +++ /dev/null
> > @@ -1,7 +0,0 @@
> > -# .bash_profile
> > -
> > -umask 022
> > -
> > -if [ -f ~/.bashrc ]; then
> > - source ~/.bashrc
> > -fi
> > diff --git a/system/skeleton/root/.profile b/system/skeleton/root/.profile
> > new file mode 100644
> > index 0000000..452ae20
> > --- /dev/null
> > +++ b/system/skeleton/root/.profile
> > @@ -0,0 +1,10 @@
> > +# ~/.profile: executed by the command interpreter for login shells.
> > +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
> > +# exists.
> > +umask 022
> > +
> > +if [ -n "$BASH_VERSION" ]; then
> > + if [ -f ~/.bashrc ]; then
> > + source ~/.bashrc
> > + fi
> > +fi
>
> Well, actually, I am wondering if we need to bundle a .profile file at
> all. Our system/skeleton/root/ directory contains:
>
> -rw-r--r-- 1 thomas thomas 0 oct. 4 2014 .bash_history
> -rw-r--r-- 1 thomas thomas 175 oct. 4 2014 .bash_logout
> -rw-rw-r-- 1 thomas thomas 78 mars 5 15:40 .bash_profile
>
> I don't really see why we need any of those three files in our default
> skeleton. Maybe we should simply remove them, use the default behavior
> of whatever shell is installed, and let users provide their own custom
> configuration if needed through a post-build script or rootfs overlay.
>
> Yann, Arnout, Peter, your thoughts?
My opinion? Here's what I'd do ;-)
git rm system/skeleton/root/.bash_*
And maybe provide a simple .profile *iff* needed.
As for bash, our bash.mk may install those .bash_* files in /root/ .
Furthermore, I'd also like /etc/profile be cleaned-up of all the mess,
moving each (interesting) parts to separate files in /etc/profile.d/ .
And while at it:
git rm system/skeleton/root/.empty
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list