The user 'sync' and 'shutdown'

there are 'sync' and 'shutdown' users in my /etc/passwd.
...
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
...

What does these mean?

These aren't typical users, but rather a processes that the system uses internally, for example, to shutdown the system - it will simply invoke the process of shutting down.

Also, generally users usually takes numbers above 500 in this file, and numbers below 100 are reserved for system use, as in this case. As you can see, they have no shell assigned.

There's also a legacy reason - on some older Linux distros you could use SU to these users and shutdown the system.

How the processes use the 'shutdown' user internally?

They don't; rather, the shutdown user uses the processes.

'shutdown' has /sbin/shutdown assigned as the login shell. So when you login to it, it runs /sbin/shutdown.

I'm not quite sure how they get the permissions to successfully shutdown the system, though. Perhaps it's because the 'shutdown' user belongs to the root group(group 0)?

Is it useful except logging in it to shutdown the system?

There's not much a shutdown user which is hardwired into /sbin/shutdown can do except /sbin/shutdown, no.

Is this a privilege control method that let some non-root users can shutdown the system using the 'shutdonw' user's password?

On my fedora15 any non-root user can shutdown the system, why? the shutdown command is a soft link to consolehelper command. Also, there is a /sbin/shutdown.

What are the permissions on consolehelper?

As opposed to what?

[alien@fedora~]:)ls -l /sbin/shutdown
lrwxrwxrwx. 1 root root 16  9  5 20:40 /sbin/shutdown -> ../bin/systemctl
[alien@fedora~]:)ls -l /bin/systemctl
-rwxr-xr-x. 1 root root 165632  4 30 10:51 /bin/systemctl
lrwxrwxrwx. 1 root root 13  9  5 20:40 /usr/bin/poweroff -> consolehelper
[alien@fedora~]:(ls -l /usr/bin/poweroff
lrwxrwxrwx. 1 root root 13  9  5 20:40 /usr/bin/poweroff -> consolehelper
[alien@fedora~]:)ls -l /usr/bin/reboot
lrwxrwxrwx. 1 root root 13  9  5 20:40 /usr/bin/reboot -> consolehelper
[alien@fedora~]:)ls -l /usr/bin/consolehelper
-rwxr-xr-x. 1 root root 6488  4  1 05:24 /usr/bin/consolehelper

PS: the user 'shutdown' is not in any group.

first google hit for 'man consolehelper':

So it uses special PAM settings to decide who's allowed to shutdown and so forth.

This is a Redhat-specific thing.

Thank you very much.