Liran Tal - 2017-02-11

Hi, welcome to the daloRADIUS community :-)

You can use an attribute that acts as a counter from the time from when the user first connected and give it a 7 days count in seconds. For example, there's the simple Max-All-Session but that one is cumulative. If I remember correctly the one I'm talking about is called Login-Time or something similar.

Another way to do it is to script a PHP tool:

My suggestion is to go at it using something like:
1. Free signups are automatically inserted into a some generic profile (whats called radgroupcheck for freeradius), it doesn't even need to set back any attributes
2. A PHP script runs on cron (schedulally) every one day say, and checks the accounting records (radaccount) vs the current time, if there's more than a 7 days different from the first time the user connected you automatically assign him some profile that always disconnects him (like returning Auth-Type := Reject) or something similar.