1

In my setup I need to rename the Linux system users man and bin because I need the usernames for humans. I'm using Ubuntu 12.04. I know that I have to change /etc/passwd, /etc/shadow, etc. But when updating through apt, packages use the man user for their man pages, and those files would have false ownership then.

Is there an configuration option in Ubuntu where I can set how the manual user is called?

Same with the bin user: I don't know when it is used but I assume changing its name will mess something up.

  • 7
    This sounds like a really bad idea. Tell your humans they need to pick a different name instead. – goldilocks Aug 14 '13 at 9:16
  • They got their names from a stupid system I cannot change. I am here to build a server for this stupid naming system which uses the first three letters of the surname. Stupid idea in any way, not unique and so on but I can't change it and I have to find a way. – bluefire81 Aug 14 '13 at 9:45
  • 3
    What do you do in cases where they are non-unique? Surely you apply those rules to these users (the ones 'needing' man and bin)? – Drav Sloan Aug 14 '13 at 12:53
6

I had a look at the POSIX documentation expecting to find a list of reserved usernames and was surprised that no such list exists in the standard (not even root!).

However, in my opinion you should regard all the usernames on your system with UIDs less than 1000 to be reserved names. This is the kind of change that, while possible, could cause problems that are very difficult to track down. You could even find yourself in a situation where, after installing or upgrading packages, your users end up owning bits of the system.

  • 2
    Debian packages make assumptions about the user/group databases, so usernames like bin and man might not be reserved in POSIX but are definitely reserved in Debian (and Ubuntu). – Alexios Aug 14 '13 at 9:30
  • The man user still tends to be used to maintain and update manpage caches in /var, at the very least. – Shadur Aug 14 '13 at 9:35
  • So I think I will create users called sysbin and sysman and tell a daily cron job to find all files that are outside the home directory and owned by bin and man and then change the ownership. Any comments on this solution? – bluefire81 Aug 14 '13 at 9:50
  • 1
    Users might own files outside the home directory, most notably in /var. Differentiating between stuff they should and shouldn't own will be difficult. – Flup Aug 14 '13 at 9:53
  • A find / -user man on my ubuntu 12.04 minimal install showed that the only dirs and files owned by user man are /var/cache/man and its contents. User bin doesn't own any files on this minimal installation. I'll give it a try. – bluefire81 Aug 14 '13 at 12:34
2

From what I understand, you're looking for is a command to rename a user. Try this:

sudo usermod -l <newlogin> <oldlogin>

But I agree with the others, it sounds like a bad idea.

  • Thank you for the hint with usermod, but I am afraid you swapped the logins: it must be sudo usermod -l <newlogin> <oldlogin> This worked on ubuntu 12.04 – bluefire81 Aug 14 '13 at 12:47
  • Updated - it now shows the correct order for old/new login. – Charles Newey Aug 14 '13 at 13:06
0

Renaming system users is not supported. You'd have to hunt down all the places where the user names are used, and because renaming system users isn't supported, this might involve changing some system binaries. It might involve changing the installation scripts of packages that you may install or upgrade int he future too.

I believe that Ubuntu doesn't use the user bin at all, it's only left for historical compatiblity. The user man owns the cache of manual pages. You might get away with renaming them, but if you try that, don't be surprised when your system breaks.

Unfortunately, there's no portable list of usernames that are reserved for the system. A fairly common way to be sure to avoid conflicts is to assign human users a username that contains digits. This strategy also provides a way to disambiguate between people who have the same initials or first names or last names that begin with the same few letters. For example, Barbara Iphygenia Norris might be bin19 while Benjamin Ignacio Nesbitt would be bin75.

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.