[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: invoke tilde expansion on quoted string
From: |
Bob Proulx |
Subject: |
Re: invoke tilde expansion on quoted string |
Date: |
Tue, 9 Apr 2013 11:01:49 -0600 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Greg Wooledge wrote:
> Linda Walsh wrote:
> > Greg Wooledge wrote:
> > > getent(1) is fine where it's available, but it's not a standard tool,
> > > so you can only use it on systems that have it.
>
> > Have you encountered it on other linux systems?
>
> It is present on Debian 3.1 (the oldest Debian system to which I have
> access), OpenBSD 5.2, and Red Hat Enterprise Linux 5.7. It would require
> some digging to find out exactly when it first appeared on each of those
> operating systems.
>
> For comparison, it is NOT present on Red Hat 5.2 ("Apollo"). The one
> from the 1990s, not RHEL 5.2. I utterly despise the fact that it takes
> me three sentences to explain a version number.
I am pretty sure that getent is not available on HP-UX for an example
of a classic legacy Unix system. For examples where getent is not
present I wouldn't go looking at old GNU/Linux systems but on legacy
Unix systems. Because those tend to be impossible to upgrade and so
are often using a variety of releases. For example HP-UX 10.20 (the
best release ever) is still in use and it is ancient. :-)
> That's just asking for trouble. I don't know every arcane Unix
> authentication system out there, but I'd imagine at least one of them
> can't be used that way. Plus, there's the issue of determining which
> authentication system you're actually supposed to pull the account
> information from.
>
> imadev:~$ grep '^wooledg' /etc/passwd
>
> Oh, look. I'm not in /etc/passwd. No, wait, maybe I am:
>
> imadev:~$ grep '+\{0,1\}wooledg' /etc/passwd
> +wooledg::-24:-24:::/usr/local/bin/bash
>
> Right, the plus sign means I'm really in NIS:
Actually you still need one more thing. You need to look in the
/etc/nsswitch.conf file for the "passwd" entry and look to see if it
says "compat" for the '+' to be working. Or if it says lists "nis" or
"nis+" in the fields. And if so then the order specifies priority.
And there are other options too that would be required to be parsed to
be 100% correct.
> imadev:~$ ypmatch wooledg passwd.byname | awk -F: '{$2="xxxx"; OFS=":";
> print}'
> wooledg:xxxx:563:22:Greg Wooledge:/net/home/wooledg:/bin/ksh
>
> So to get my home directory by mimicking the operating system's account
> lookup procedures, I have to make at least 3 separate checks, and I may
> have to merge data from 2 of those.
We are now up to at least four checks. :-)
Bob
- Re: invoke tilde expansion on quoted string, Eric Blake, 2013/04/04
- Re: invoke tilde expansion on quoted string, Chris Down, 2013/04/04
- Re: invoke tilde expansion on quoted string, Greg Wooledge, 2013/04/04
- Re: invoke tilde expansion on quoted string, Eric Blake, 2013/04/04
- Re: invoke tilde expansion on quoted string, Linda Walsh, 2013/04/07
- Re: invoke tilde expansion on quoted string, Greg Wooledge, 2013/04/08
- Re: invoke tilde expansion on quoted string, Linda Walsh, 2013/04/08
- Re: invoke tilde expansion on quoted string, Greg Wooledge, 2013/04/09
- Re: invoke tilde expansion on quoted string,
Bob Proulx <=
- Re: invoke tilde expansion on quoted string, Greg Wooledge, 2013/04/09