1

As part of my assignment I was asked to find a group called + and to write in brief what I think of it. This group in /etc/group is shown as +:x:: which means it has no Gid and No users. But what does that means? what does having no Gid does to a group. I wrote that it might be invalid but apparently that's a wrong answer. I couldn't find the answer in any documentation or tutorial.

  • Look up NIS+, a directory service that may serve parts of that and other files when a line starts with a plus character. – Kusalananda May 4 '18 at 9:14
  • I'm curious to know the answer, but isn't your teacher there to help you with that ? – Kiwy May 4 '18 at 9:14
  • I emailed him, he didnt reply 🤦🏻‍♂️ – hungry May 5 '18 at 13:54
2

In former times, when there was no

/etc/nsswitch.conf

this method was used to tell the passwd and group lookup routines to search the content of NIS (formerly known as YP).

If this line appears last, then the local file is searched first and then (if there was no match), NIS is searched.

See NIS+ documentation here: https://docs.oracle.com/cd/E18752_01/html/816-4558/adtable-86495.html even though NIS+ has been made obsolete and removed from Solaris in December 2009.

  • NIS is still in use and there are Unix systems without that configuration file, so "former times" may only refer to Linux systems. – Kusalananda May 4 '18 at 11:09
  • NIS is still in use, while NIS+ has been obsoleted, but modern systems use /etc/nsswitch.conf to control search methods and search order. – schily May 4 '18 at 11:11
2

I was asked to find a group called + and to write in brief what I think of it.

What you think is coloured by what operating system you use.

As a FreeBSD user you should appreciate these little history lessons, but they haven't been relevant for almost two decades and the course is seriously out of date. Or as a Linux operating system user you should understand that some other operating systems may have had unusual mechanisms relating to this, but your operating system never has had. (-:

Moreover, since + is not part of the POSIX Portable Filename Character Set, it is indeed invalid as a POSIX-conformant group name. You are right to think that it is. That is how it is alright to employ it for this purpose. No actual conformant group name can conflict with it.

(This is the same reasoning that gives us mechanisms like using : to distinguish user/group IDs from user/group names in (some) places where there can be either an ID or a name. : is not part of the POSIX Portable Filename Character Set, so will never occur in (conformant) names and can be used to denote IDs, which otherwise are comprised of characters in that character set, and so cannot be unambiguously distinguished from names without some sort of extra information added.)

FreeBSD removed the + mechanism in 2000, having only had it in the first place for six years prior to that.

It is still documented in the OpenBSD and NetBSD User Manuals, so those are where to look for doco that tells you what the mechanism is. Both still implement it, too.

As far as I can tell, the GNU C Library went straight from a file-only mechanism to an NS switch mechanism in 1996, and never had such a + mechanism.

The commercial Unices I leave as an exercise for the reader. (-:

Further reading

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.