summaryrefslogtreecommitdiff
path: root/libre/filesystem/filesystem.install
blob: 0ecc27e65e2b94faf2dc1481a7d5651141eff0d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
post_install() {
	[ -f var/log/lastlog ] ||  : >var/log/lastlog
	[ -f var/log/wtmp ]    ||  : >var/log/wtmp
	[ -f var/log/btmp ]    || (: >var/log/btmp && bin/chmod 600 var/log/btmp)
	# workaround for bug #7194
	# readded due to bug #9465
	# please do not remove!
	bin/chmod 1777 var/spool/mail tmp var/tmp var/lock
}

# args: <group> [options]
_addgroup() {
	if ! bin/grep -q "^$1:" etc/group; then
		usr/sbin/groupadd ${@} >/dev/null
	fi
}

# args: <group> [options]
_adduser() {
	if ! bin/grep -q "^$1:" etc/passwd; then
		usr/sbin/useradd ${@} >/dev/null
	fi
}

post_upgrade() {
	post_install

	_addgroup optical -g 93
	_addgroup audio   -g 92
	_addgroup video   -g 91
	_addgroup floppy  -g 94
	_addgroup storage -g 95
	_addgroup log     -g 19
	_addgroup utmp    -g 20
	_addgroup power   -g 98
	_addgroup network -g 90
	_addgroup games   -g 50
	_addgroup uucp    -g 14
	_addgroup http    -g 33
	_adduser  http    -u 33 -d /srv/http -g http -s /bin/false http
	_addgroup scanner -g 96
	_addgroup rfkill  -g 24

	# sync gshadow to group (fixes FS#19869
	if ! bin/grep -q '^rfkill:' etc/gshadow; then
		usr/sbin/grpconv >/dev/null
	fi

	if ! bin/grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
		bin/echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
	fi

	# set "Last password change" > 0; otherwise su $user wont work
	for user in bin daemon mail ftp http nobody; do
		if LANG=C usr/bin/chage -l ${user} | bin/grep -q 'password must be changed'; then
			usr/bin/chage -d 14871 ${user}
		fi
	done
}