Introduction

This page list the different system groups used on a debian system. System groups are special purpose groups used for system operation like backup, maintenance or for granting access to hardware. They are the low gid of the system group database.

Description

fuse

Description

Filesystem in Userspace (FUSE) is a filesystem that allows non-privileged users to create their own file systems without editing the kernel code. This is achieved by running the file system code in user space, while the FUSE module only provides a "bridge" to the actual kernel interfaces.

Fuse could be used in order to write virtual filesystem like for instance a wikibased filesystem.

Users are allowed to use fuse if they could read and write to /dev/fuse ie they are in group fuse on debian system. Starting with Debian 8 (Jessie) this group is not required anymore.

Permissions

/dev/fuse crw-rw---- root fuse 

Security implications

Fuse could lead to local dos for instance creating file a la /dev/null with random content. Moreover they are past problem in the fuse kernel code that lead to dos.

Filesystem created by fuse are not visible by other user including root in order to avoid dos. For instance an user that create an infinite depth filesystem in order to fool updatedb.

More Information

wikipedia fuse web site

rdma

Description

From Roland Dreier

RDMA stands for "remote direct memory access," and it is a type of high performance networking implemented by ?InfiniBand and some 10 GbE adapters. Part of RDMA is "kernel bypass," which allows userspace process direct access to hardware registers to reduce latency and CPU overhead in performing RDMA operations. wikipedia has a more complete overview.

Permissions

/dev/infiniband/rdma_cm crw-rw---- root rdma

Security implications

Users that are running high-performance jobs would need access to these device nodes; it makes sense to me that administrators would not necessarily want to allow all users to have direct access to do things that might interfere with other jobs on a high-performance network. Even though in theory it is safe for anyone to use rdma due to kernel protection.

Also, RDMA often requires increasing the amount of locked memory allowed in /etc/security/limits.conf, and doing that by group "rdma" is convenient as well.

More information

wikipedia Roland Dreier answer on unbuntu

Other System Groups

Groups without an associated user

The following groups grant privileges to their members.

Add a user to a group

With root privileges:

# adduser user group

It will take effect on the next login. To print the groups the user is in (without root privileges):

$ groups

Security implications

The group disk can be very dangerous, since hard drives in /dev/sd* and /dev/hd* can be read and written bypassing any file system and any partition, allowing a normal user to disclose, alter and destroy both the partitions and the data of such drives without root privileges. Users should never belong to this group.

To manage removable drives without root privileges, you have to use the groups cdrom for optical drives and floppy for the others. Optical drives can usually be mounted in according to the rules in /etc/fstab, but for other removable drives the group plugdev may be more practical.

The group kmem is able to read the content of the system memory, potentially disclosing data belonging to other processes.

The users of the group shadow group can read the content of /etc/shadow and /etc/gshadow, containing the hashes of the passwords of other users and groups.

Only admins should belong to the group sudo, because they could execute any command with sudo and their own password. But custom rules can be written in /etc/sudoers (through visudo) for any group and any user, in order to allow only a more restricted set of commands to be executed with root privileges.

The users of the group staff can install executables in /usr/local/bin and /usr/local/sbin without root privileges. By default /usr/local/bin is in the PATH variable of every user, so that the binaries in /usr/local/bin can be executed without having to write their paths. In addition if an executable is created in /usr/local/bin with the same name of one in /usr/bin (or /bin), the former will be executed every time that its path is not specified.

Groups with an associated user

The following groups are not intended to be used directly by other users.

More information

Securing Debian HowTo - FAQ n. 12.1.12.1


Page Copyright

License

GPLv2 or later at your option

Authors

Bastien Roucaries , Mario Bar

see DebianWiki/LicencingTerms for info about wiki content copyright.



CategorySystemSecurity