Can't start as unprivileged user

System is a FreeBSD 12.1, TS is installed inside a jail witj sysvipc enabled. I can start TS as root without any problems but when i start is as normal user it stops with:

2020-09-28 11:37:34.881717|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.12.1 (2020-03-27 10:38:47)
2020-09-28 11:37:34.882497|INFO |ServerLibPriv | |SystemInformation: FreeBSD 12.1-RELEASE-p10 FreeBSD 12.1-RELEASE-p10 GENERIC amd64 Binary: 64bit
2020-09-28 11:37:34.883258|INFO |DatabaseQuery | |dbPlugin name: SQLite3 plugin, Version 3, ©TeamSpeak Systems GmbH
2020-09-28 11:37:34.883376|INFO |DatabaseQuery | |dbPlugin version: 3.11.1
2020-09-28 11:37:34.883851|INFO |DatabaseQuery | |checking database integrity (may take a while)
2020-09-28 11:37:35.041886|WARNING |Accounting | |Unable to open licensekey.dat, falling back to limited functionality
2020-09-28 11:37:35.042470|INFO |Accounting | |Licensing Information
2020-09-28 11:37:35.042652|INFO |Accounting | |licensed to : Anonymous
2020-09-28 11:37:35.042733|INFO |Accounting | |type : No License
2020-09-28 11:37:35.043199|INFO |Accounting | |starting date : Sat Feb 1 00:00:00 2020
2020-09-28 11:37:35.043355|INFO |Accounting | |ending date : Mon Feb 1 00:00:00 2021
2020-09-28 11:37:35.043444|INFO |Accounting | |max virtualservers: 1
2020-09-28 11:37:35.043562|INFO |Accounting | |max slots : 32
2020-09-28 11:37:35.543470|ERROR |Accounting | |failed to register local accounting service: File exists
2020-09-28 11:37:36.323242|INFO | | |Puzzle precompute time: 1179
2020-09-28 11:37:36.324831|INFO |FileManager | |listening on 0.0.0.0:30033, [::]:30033
2020-09-28 11:37:36.488077|INFO |VirtualServerBase|1 |listening on 0.0.0.0:9987, [::]:9987
2020-09-28 11:37:36.488844|INFO |Query | |listening for query on 0.0.0.0:10011, [::]:10011
2020-09-28 11:37:36.489501|INFO |Query | |listening for ssh query on 0.0.0.0:10022, [::]:10022
2020-09-28 11:37:36.490160|INFO |CIDRManager | |updated query_ip_whitelist ips: 127.0.0.1/32, ::1/128,
2020-09-28 11:37:36.490552|INFO |VirtualServerBase|1 |stopped

Any ideas (and yes, i changed ownership before starting :slight_smile: ?
Thanks

Of course can’t start an Server without Permissions. (Unprivileged User)

As a normal user you can start a program. Since TS only uses unprivileged ports it should start. What other permissions do you suggest?

Well, if its not that maybe its your Error; 2020-09-28 11:37:35.543470|ERROR |Accounting | |failed to register local accounting service: File exists

To be absolutly shure i deleted the directory and started with a fresh install. Same results. Some entries more for creating ssh key and tokens, but same error message and same result:

2020-09-28 13:49:47.205874|INFO |VirtualServerBase|1 |stopped

Probably @FakE could help you

1 Like

I assume you started the server as root once (to test whatever) before starting it as unprivileged user after.

To get rid of the issue:

#login as root
cd /dev/shm
ls -al

Post your results in here.

You suggested right, i started TS as root first. There’s no /dev/shm. A s far as i know /dev/shm is some linux stuff, neither my other jails nor my hosts has it.
Interesting is, that i found a /tmp/

drwxrwxrwx 2 teamspeak wheel 0 Sep 28 18:47 boost_interprocess

directory because i started the ts3server as teamspeak:teamspeak. The directory itself is empty, deleting it pop it up again.

Take a look in here:

https://forum.teamspeak.com/threads/85396-Having-to-mount-dev-shm-each-boot

Hi FakE,
thanks for your response but i don’t know how this thread should help me in solving my puzzle. As i said, FreeBSD doesn’t use /dev/shm, that’s a linux thing.
I’ve started TS as root and had a look at open files, a lot in the homedirectory, outside 2 files, one /dev/pts/1 and one in /tmp. Both are also accessible by my teamspeak user.
When i start TS as ts-user, it exits with errorlevel 0, so the only difference to the root user is that error in the logfile which OLFMSQL already mentioned. Sadly it doesn’t says anything about which file already exists.
I’ve made a clean install, changed the ownership to the ts-user and started as root, then i looked for changed ownership and timestamps in the complete filesystem. Nothing there, the one in /dev, one in /tmp and a lot in ts-home.
Seems i have to run it as root.

Well it seems like accessing the shared memory on FreeBSD isn’t possible like on Linux without external tools.

Just removing the server files will not clear the shared memory.
I suggest to restart the machine and wait about 24h before starting the TeamSpeak process again.
I assume not running the process will clear the TeamSpeaks specific memory storage after time.

There’s not much more I can do for you.
Try the suggestion if you like to and don’t start the server as root again after waiting 24h if so, use the created account for.

1 Like

Hi FakE,
thanks for this great advise which points in the right direction.
For any other users who might stumble over the same problem:

You can view all shm from the host with “posixshmcontrol ls”.
After finding the correspondig segment you can delete it with “posixshmcontrol rm /corresponding segment”

I’ve done this and now i can start the TS server without any problem.
Thanks again

2 Likes
twitch instagram twitter facebook