Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
In my linux installation there are a few user accounts that I don't understand, such as "bin", "sync", "sys", "lp", "proxy", and "daemon". Why are they there?
daemon: Some unprivileged daemons that need to write to files on disk run as daemon.daemon (e.g., portmap, atd, probably others). Daemons that don't need to own any files can run as nobody.nogroup instead, and more complex or security conscious daemons run as dedicated users. The daemon user is also handy for locally installed daemons.
bin: maintained for historic reasons.
sys: same as with bin. However, /dev/vcs* and /var/spool/cups are owned by group sys.
sync: The shell of user sync is /bin/sync. Thus, if its password is set to something easy to guess (such as ""), anyone can sync the system at the console even if they have don't have an account.
lp: Used by printer daemons.
proxy: Like daemon, this user and group is used by some daemons (specifically, proxy daemons) that don't have dedicated user id's and that need to own files. For example, group proxy is used by pdnsd, and squid runs as user proxy.
You are listed as using Debian. If this is still the case then take a look at /usr/share/doc/base-passwd/users-and-groups.html or the txt version. Here are some of the highlights for the users you listed:
Quote:
bin
HELP: No files on my system are owned by user or group bin. What good are
they? Historically they were probably the owners of binaries in /bin? It is
not mentioned in the FHS, Debian Policy, or the changelogs of base-passwd
or base-files.
LSB 1.3 lists bin as legacy, and says: "The 'bin' UID/GID is included for
compatibility with legacy applications. New applications should no longer
use the 'bin' UID/GID."
sync
The shell of user sync is /bin/sync. Thus, if its password is set to
something easy to guess (such as ""), anyone can sync the system at the
console even if they have no account on the system.
sys
HELP: As with bin, except I don't even know what it was good for
historically.
I'm told that /var/spool/cups is owned by group sys, dunno why.
lp
The lp* devices are writable by this group so that users in it can access
the parallel ports directly. Traditionally this job is taken by a printer
daemon instead which will only need to run in this group.
The lpr system keeps its spool directories owned by lp/lp. Its daemon and
frontend tools (through setuid) run as user root.
HELP: what do other print systems (rlpr, lprng, ...) do?
daemon
Some unprivileged daemons that need to be able to write to some files on
disk run as daemon.daemon (portmap, atd, jabberd, lambdamoo, mon, and
others). Daemons that don't need to own any files sometimes run as
nobody.nogroup instead; it is generally better practice to use a dedicated
user, and more complex or security-conscious daemons certainly do this. The
daemon user is also handy for locally installed daemons, probably.
LSB 1.3 lists daemon as legacy, and says: "The 'daemon' UID/GID was used as
an unprivileged UID/GID for daemons to execute under in order to limit
their access to the system. Generally daemons should now run under
individual UID/GIDs in order to further partition daemons from one
another."
proxy
Like daemon, this user and group is used by some daemons (specifically,
proxy daemons) that don't have dedicated user ids and that need to own
files. For example, group proxy is used by pdnsd, and squid runs as user
proxy.
Unfortunately it appears that some of the answers you seek may be buried in time...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.