nixpkgs/nixos/modules/misc/ids.nix

507 lines
11 KiB
Nix
Raw Normal View History

# This module defines the global list of uids and gids. We keep a
# central list to prevent id collisions.
{ config, pkgs, lib, ... }:
{
options = {
ids.uids = lib.mkOption {
2013-10-30 16:37:45 +00:00
internal = true;
description = ''
The user IDs used in NixOS.
'';
};
ids.gids = lib.mkOption {
2013-10-30 16:37:45 +00:00
internal = true;
description = ''
The group IDs used in NixOS.
'';
};
};
config = {
ids.uids = {
root = 0;
#wheel = 1; # unused
#kmem = 2; # unused
#tty = 3; # unused
messagebus = 4; # D-Bus
haldaemon = 5;
#disk = 6; # unused
vsftpd = 7;
ftp = 8;
bitlbee = 9;
avahi = 10;
nagios = 11;
atd = 12;
postfix = 13;
#postdrop = 14; # unused
dovecot = 15;
tomcat = 16;
#audio = 17; # unused
#floppy = 18; # unused
#uucp = 19; # unused
#lp = 20; # unused
pulseaudio = 22; # must match `pulseaudio' GID
gpsd = 23;
#cdrom = 24; # unused
#tape = 25; # unused
#video = 26; # unused
#dialout = 27; # unused
polkituser = 28;
#utmp = 29; # unused
ddclient = 30;
davfs2 = 31;
privoxy = 32;
#disnix = 33; # unused
osgi = 34;
tor = 35;
cups = 36;
foldingathome = 37;
sabnzbd = 38;
kdm = 39;
ghostone = 40;
git = 41;
fourstore = 42;
fourstorehttp = 43;
virtuoso = 44;
rtkit = 45;
dovecot2 = 46;
dovenull2 = 47;
unbound = 48;
prayer = 49;
mpd = 50;
clamav = 51;
fprot = 52;
bind = 53;
wwwrun = 54;
#adm = 55; # unused
spamd = 56;
#networkmanager = 57; # unused
nslcd = 58;
#scanner = 59; # unused
nginx = 60;
chrony = 61;
#systemd-journal = 62; # unused
smtpd = 63;
smtpq = 64;
supybot = 65;
iodined = 66;
#libvirtd = 67; # unused
graphite = 68;
statsd = 69;
transmission = 70;
postgres = 71;
#vboxusers = 72; # unused
#vboxsf = 73; # unused
smbguest = 74; # unused
varnish = 75;
datadog = 76;
lighttpd = 77;
lightdm = 78;
freenet = 79;
ircd = 80;
bacula = 81;
almir = 82;
deluge = 83;
mysql = 84;
rabbitmq = 85;
activemq = 86;
gnunet = 87;
oidentd = 88;
quassel = 89;
amule = 90;
minidlna = 91;
elasticsearch = 92;
tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
#connman = 94; # unused
firebird = 95;
#keys = 96; # unused
2013-10-29 14:55:25 +00:00
haproxy = 97;
mongodb = 98;
openldap = 99;
#users = 100; # unused
2014-01-12 23:18:05 +00:00
cgminer = 101;
munin = 102;
logcheck = 103;
nix-ssh = 104;
dictd = 105;
2014-02-27 13:33:30 +00:00
couchdb = 106;
2014-03-07 19:09:59 +00:00
searx = 107;
2014-03-12 07:32:56 +00:00
kippo = 108;
jenkins = 109;
systemd-journal-gateway = 110;
#notbit = 111; # unused
2014-03-20 02:04:35 +00:00
ngircd = 112;
btsync = 113;
minecraft = 114;
2014-04-01 18:20:33 +01:00
monetdb = 115;
rippled = 116;
murmur = 117;
foundationdb = 118;
newrelic = 119;
starbound = 120;
#grsecurity = 121; # unused
hydra = 122;
spiped = 123;
teamspeak = 124;
2014-05-27 21:54:43 +01:00
influxdb = 125;
nsd = 126;
gitolite = 127;
znc = 128;
2014-07-15 15:16:58 +01:00
polipo = 129;
mopidy = 130;
#docker = 131; # unused
gdm = 132;
dhcpd = 133;
2014-07-10 19:08:38 +01:00
siproxd = 134;
2014-07-08 23:43:26 +01:00
mlmmj = 135;
2014-08-16 22:53:26 +01:00
neo4j = 136;
riemann = 137;
riemanndash = 138;
radvd = 139;
2014-08-24 16:43:45 +01:00
zookeeper = 140;
dnsmasq = 141;
2014-09-01 07:53:00 +01:00
uhub = 142;
2014-09-26 09:44:09 +01:00
yandexdisk = 143;
collectd = 144;
consul = 145;
2014-09-26 09:03:29 +01:00
mailpile = 146;
2014-10-07 09:53:01 +01:00
redmine = 147;
2014-10-06 20:25:10 +01:00
seeks = 148;
prosody = 149;
2014-11-09 08:44:47 +00:00
i2pd = 150;
2014-11-19 23:01:44 +00:00
systemd-network = 152;
systemd-resolve = 153;
systemd-timesync = 154;
2014-11-20 22:30:24 +00:00
liquidsoap = 155;
2014-11-15 15:27:27 +00:00
etcd = 156;
2014-11-21 16:20:14 +00:00
docker-registry = 157;
2014-11-20 11:29:07 +00:00
hbase = 158;
2014-11-20 12:00:53 +00:00
opentsdb = 159;
2014-11-20 14:38:04 +00:00
scollector = 160;
2014-11-20 14:49:45 +00:00
bosun = 161;
2014-11-29 15:46:39 +00:00
kubernetes = 162;
2014-12-01 15:40:42 +00:00
peerflix = 163;
2014-12-03 14:49:14 +00:00
chronos = 164;
gitlab = 165;
2014-12-20 22:38:52 +00:00
tox-bootstrapd = 166;
2014-12-28 19:21:41 +00:00
cadvisor = 167;
nylon = 168;
apache-kafka = 169;
2014-12-08 09:02:57 +00:00
panamax = 170;
exim = 172;
#fleet = 173; # unused
#input = 174; # unused
2015-03-02 17:58:35 +00:00
sddm = 175;
tss = 176;
memcached = 177;
ntp = 179;
zabbix = 180;
redis = 181;
unifi = 183;
uptimed = 184;
zope2 = 185;
ripple-data-api = 186;
2015-03-27 10:48:50 +00:00
mediatomb = 187;
rdnssd = 188;
2015-04-10 23:09:31 +01:00
ihaskell = 189;
2015-04-15 11:52:06 +01:00
i2p = 190;
2015-04-14 00:06:37 +01:00
lambdabot = 191;
2015-04-16 23:53:26 +01:00
asterisk = 192;
plex = 193;
bird = 195;
2015-04-25 15:02:44 +01:00
grafana = 196;
2015-06-08 12:36:05 +01:00
skydns = 197;
2015-06-08 11:58:33 +01:00
ripple-rest = 198;
nix-serve = 199;
2015-06-20 21:33:57 +01:00
tvheadend = 200;
uwsgi = 201;
2015-06-08 23:11:24 +01:00
gitit = 202;
riemanntools = 203;
subsonic = 204;
2015-07-21 11:16:18 +01:00
riak = 205;
2015-08-01 00:15:18 +01:00
shout = 206;
2015-07-31 05:22:44 +01:00
gateone = 207;
2015-09-08 18:24:40 +01:00
namecoin = 208;
2015-09-10 17:10:06 +01:00
dnschain = 209;
2015-09-14 07:27:31 +01:00
#lxd = 210; # unused
2015-09-18 23:18:43 +01:00
kibana = 211;
2015-09-13 13:49:19 +01:00
xtreemfs = 212;
2015-09-28 04:31:17 +01:00
calibre-server = 213;
2015-11-16 14:26:07 +00:00
heapster = 214;
bepasty = 215;
pumpio = 216;
nm-openvpn = 217;
2015-09-08 08:17:21 +01:00
mathics = 218;
2016-01-03 02:36:19 +00:00
ejabberd = 219;
2016-01-06 03:04:50 +00:00
postsrsd = 220;
2016-01-06 22:10:56 +00:00
opendkim = 221;
2016-01-07 01:17:42 +00:00
dspam = 222;
2015-08-03 18:04:10 +01:00
gale = 223;
2016-01-08 14:12:00 +00:00
matrix-synapse = 224;
2016-01-12 09:06:46 +00:00
rspamd = 225;
2016-01-14 09:17:27 +00:00
rmilter = 226;
2016-01-17 12:11:09 +00:00
cfdyndns = 227;
gammu-smsd = 228;
pdnsd = 229;
2016-02-14 11:58:09 +00:00
octoprint = 230;
avahi-autoipd = 231;
2016-02-26 14:19:46 +00:00
nntp-proxy = 232;
2016-03-12 14:38:13 +00:00
mjpg-streamer = 233;
radicale = 234;
hydra-queue-runner = 235;
hydra-www = 236;
syncthing = 237;
mfi = 238;
taskd = 239;
2014-12-08 09:02:57 +00:00
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
nixbld = 30000; # start of range of uids
nobody = 65534;
};
ids.gids = {
root = 0;
wheel = 1;
kmem = 2;
tty = 3;
messagebus = 4; # D-Bus
haldaemon = 5;
disk = 6;
vsftpd = 7;
ftp = 8;
bitlbee = 9;
avahi = 10;
#nagios = 11; # unused
atd = 12;
postfix = 13;
postdrop = 14;
dovecot = 15;
tomcat = 16;
audio = 17;
floppy = 18;
uucp = 19;
lp = 20;
pulseaudio = 22; # must match `pulseaudio' UID
gpsd = 23;
cdrom = 24;
tape = 25;
video = 26;
dialout = 27;
#polkituser = 28; # currently unused, polkitd doesn't need a group
utmp = 29;
#ddclient = 30; # unused
davfs2 = 31;
privoxy = 32;
disnix = 33;
osgi = 34;
tor = 35;
#cups = 36; # unused
#foldingathome = 37; # unused
#sabnzd = 38; # unused
#kdm = 39; # unused
ghostone = 40;
git = 41;
fourstore = 42;
fourstorehttp = 43;
virtuoso = 44;
#rtkit = 45; # unused
dovecot2 = 46;
#dovenull = 47; # unused
#unbound = 48; # unused
prayer = 49;
mpd = 50;
clamav = 51;
fprot = 52;
#bind = 53; # unused
wwwrun = 54;
adm = 55;
spamd = 56;
networkmanager = 57;
nslcd = 58;
scanner = 59;
nginx = 60;
chrony = 61;
systemd-journal = 62;
smtpd = 63;
smtpq = 64;
supybot = 65;
iodined = 66;
libvirtd = 67;
graphite = 68;
#statsd = 69; # unused
transmission = 70;
postgres = 71;
vboxusers = 72;
vboxsf = 73;
smbguest = 74; # unused
varnish = 75;
datadog = 76;
lighttpd = 77;
lightdm = 78;
freenet = 79;
ircd = 80;
bacula = 81;
almir = 82;
deluge = 83;
mysql = 84;
rabbitmq = 85;
activemq = 86;
gnunet = 87;
oidentd = 88;
quassel = 89;
amule = 90;
minidlna = 91;
#elasticsearch = 92; # unused
#tcpcryptd = 93; # unused
connman = 94;
firebird = 95;
keys = 96;
haproxy = 97;
#mongodb = 98; # unused
openldap = 99;
munin = 102;
#logcheck = 103; # unused
#nix-ssh = 104; # unused
dictd = 105;
2014-02-27 13:33:30 +00:00
couchdb = 106;
2014-03-07 19:09:59 +00:00
searx = 107;
2014-03-12 07:32:56 +00:00
kippo = 108;
jenkins = 109;
systemd-journal-gateway = 110;
#notbit = 111; # unused
#ngircd = 112; # unused
2014-12-28 11:47:12 +00:00
btsync = 113;
#minecraft = 114; # unused
monetdb = 115;
#ripped = 116; # unused
#murmur = 117; # unused
foundationdb = 118;
newrelic = 119;
starbound = 120;
nixos: add grsecurity module (#1875) This module implements a significant refactoring in grsecurity configuration for NixOS, making it far more usable by default and much easier to configure. - New security.grsecurity NixOS attributes. - All grsec kernels supported - Allows default 'auto' grsec configuration, or custom config - Supports custom kernel options through kernelExtraConfig - Defaults to high-security - user must choose kernel, server/desktop mode, and any virtualisation software. That's all. - kptr_restrict is fixed under grsecurity (it's unwriteable) - grsecurity patch creation is now significantly abstracted - only need revision, version, and SHA1 - kernel version requirements are asserted for sanity - built kernels can have the uname specify the exact grsec version for development or bug reports. Off by default (requires `security.grsecurity.config.verboseVersion = true;`) - grsecurity sysctl support - By default, disabled. - For people who enable it, NixOS deploys a 'grsec-lock' systemd service which runs at startup. You are expected to configure sysctl through NixOS like you regularly would, which will occur before the service is started. As a result, changing sysctl settings requires a reboot. - New default group: 'grsecurity' - Root is a member by default - GRKERNSEC_PROC_GID is implicitly set to the 'grsecurity' GID, making it possible to easily add users to this group for /proc access - AppArmor is now automatically enabled where it wasn't before, despite implying features.apparmor = true The most trivial example of enabling grsecurity in your kernel is by specifying: security.grsecurity.enable = true; security.grsecurity.testing = true; # testing 3.13 kernel security.grsecurity.config.system = "desktop"; # or "server" This specifies absolutely no virtualisation support. In general, you probably at least want KVM host support, which is a little more work. So: security.grsecurity.enable = true; security.grsecurity.stable = true; # enable stable 3.2 kernel security.grsecurity.config = { system = "server"; priority = "security"; virtualisationConfig = "host"; virtualisationSoftware = "kvm"; hardwareVirtualisation = true; } This module has primarily been tested on Hetzner EX40 & VQ7 servers using NixOps. Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-04-06 20:18:12 +01:00
grsecurity = 121;
hydra = 122;
spiped = 123;
teamspeak = 124;
2014-05-27 21:54:43 +01:00
influxdb = 125;
nsd = 126;
#gitolite = 127; # unused
znc = 128;
2014-07-15 15:16:58 +01:00
polipo = 129;
mopidy = 130;
docker = 131;
gdm = 132;
#dhcpcd = 133; # unused
2014-07-10 19:08:38 +01:00
siproxd = 134;
2014-07-08 23:43:26 +01:00
mlmmj = 135;
#neo4j = 136; # unused
riemann = 137;
riemanndash = 138;
#radvd = 139; # unused
#zookeeper = 140; # unused
#dnsmasq = 141; # unused
2014-09-01 07:53:00 +01:00
uhub = 142;
#yandexdisk = 143; # unused
#collectd = 144; # unused
#consul = 145; # unused
2014-09-26 09:03:29 +01:00
mailpile = 146;
2014-10-07 09:53:01 +01:00
redmine = 147;
2014-10-06 20:25:10 +01:00
seeks = 148;
prosody = 149;
2014-11-09 08:44:47 +00:00
i2pd = 150;
2014-11-19 23:01:44 +00:00
systemd-network = 152;
systemd-resolve = 153;
systemd-timesync = 154;
2014-11-20 22:30:24 +00:00
liquidsoap = 155;
#etcd = 156; # unused
#docker-registry = 157; # unused
2015-03-03 19:21:36 +00:00
hbase = 158;
opentsdb = 159;
2015-01-05 10:58:17 +00:00
scollector = 160;
bosun = 161;
kubernetes = 162;
#peerflix = 163; # unused
#chronos = 164; # unused
2015-01-05 10:58:17 +00:00
gitlab = 165;
2015-03-03 19:21:36 +00:00
nylon = 168;
2014-12-08 09:02:57 +00:00
panamax = 170;
exim = 172;
2015-03-03 19:21:36 +00:00
fleet = 173;
input = 174;
2015-03-02 17:58:35 +00:00
sddm = 175;
tss = 176;
#memcached = 177; # unused
#ntp = 179; # unused
#zabbix = 180; # unused
#redis = 181; # unused
#unifi = 183; # unused
#uptimed = 184; # unused
#zope2 = 185; # unused
#ripple-data-api = 186; #unused
2015-03-27 10:48:50 +00:00
mediatomb = 187;
#rdnssd = 188; # unused
2015-04-10 23:09:31 +01:00
ihaskell = 189;
2015-04-15 11:52:06 +01:00
i2p = 190;
2015-04-14 00:06:37 +01:00
lambdabot = 191;
2015-04-16 23:53:26 +01:00
#asterisk = 192; # unused
plex = 193;
sabnzbd = 194;
bird = 195;
2015-04-25 15:02:44 +01:00
#grafana = 196; #unused
2015-06-08 12:36:05 +01:00
#skydns = 197; #unused
2015-06-08 11:58:33 +01:00
#ripple-rest = 198; #unused
#nix-serve = 199; #unused
2015-06-20 21:33:57 +01:00
#tvheadend = 200; #unused
uwsgi = 201;
2015-06-08 23:11:24 +01:00
gitit = 202;
riemanntools = 203;
subsonic = 204;
2015-07-21 11:16:18 +01:00
riak = 205;
2015-08-01 00:15:18 +01:00
#shout = 206; #unused
2015-07-31 05:22:44 +01:00
gateone = 207;
namecoin = 208;
2015-09-10 17:10:06 +01:00
#dnschain = 209; #unused
2015-09-14 07:27:31 +01:00
lxd = 210; # unused
2015-09-18 23:18:43 +01:00
#kibana = 211;
2015-09-13 13:49:19 +01:00
xtreemfs = 212;
2015-09-28 04:31:17 +01:00
calibre-server = 213;
bepasty = 215;
pumpio = 216;
nm-openvpn = 217;
2015-09-08 08:17:21 +01:00
mathics = 218;
2016-01-03 02:36:19 +00:00
ejabberd = 219;
2016-01-06 03:04:50 +00:00
postsrsd = 220;
2016-01-06 22:10:56 +00:00
opendkim = 221;
2016-01-07 01:17:42 +00:00
dspam = 222;
2015-08-03 18:04:10 +01:00
gale = 223;
2016-01-08 14:12:00 +00:00
matrix-synapse = 224;
2016-01-12 09:06:46 +00:00
rspamd = 225;
2016-01-14 09:17:27 +00:00
rmilter = 226;
2016-01-17 12:11:09 +00:00
cfdyndns = 227;
pdnsd = 229;
2016-02-14 11:58:09 +00:00
octoprint = 230;
radicale = 234;
syncthing = 237;
#mfi = 238; # unused
taskd = 239;
2015-01-05 10:58:17 +00:00
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal
# uids and gids. Also, don't use gids above 399!
users = 100;
nixbld = 30000;
nogroup = 65534;
};
};
}