0

I install Linux on computers and add to the base installation some other programs. This computer then is sold to a customer as a larger instrument. Now, I am looking for a way to implement some kind licence for this computer so the user can use it for a year and then he would need to "renew" the licence. It is not my intention to lock the whole computer , blocking or deleting some folders should be enough. The only way I could think of was to setup a cron job that deletes my programs, or a second way would be to set the user account to expire after a year.
But I give the computer with sudo privilages so the above solutions wouldn't be 100% safe. It is not my intention to encrypt any code, I just want block the possibility to execute certain programs. Is there a way or a program that would "licence the computer" ? Ideally it should be invisible to the user. After one year the program stops working and "he doesn't know why."

1
  • You could hard code it into the program too. Depending on how you want to do this. You could have a hidden file somewhere on system, which records program install/first start date, and a line of code in program which will check this file before it runs. If it runs past the time, send a call to change permissions or delete a file. This gets to be on the border of malicious though, and you might not make it past people who want open code. You could also set up a website which this program sends the file to, and checks.. this would be a little more ethical.
    – No Time
    May 28, 2014 at 23:04

1 Answer 1

0

You are doing it wrong. Yes, you could wipe some directory or file at some point (see at for scheduled tasks that should run at a certain date), but once a customer learns this, then you might run into trouble. It will also not prevent people from re-installing the Ubuntu and wiping our your restrictions.

As for running scheduled tasks using at, the following command should be self-explanatory:

echo 'mv /boot /boot.unsupported' | sudo at next year

Note however that it is unethical for you to restrict access to this system which is made freely available by companies and volunteers. Consider taking a different approach where you charge for support.

New Ubuntu non-LTS releases are EOL'd after 9 months, LTS releases have a longer supported time (source: Ubuntu Wiki - Releases). If support for an Ubuntu version is about to expire or already expired, then you could contact your customer and propose to upgrade his/ her system and emphasize the importance of an up-to-date system (see Windows XP, I have seldomly see people care that much about changing software).

4
  • I do not want to restrict access to the system or to stop the customer from re-installing Linux. I sell computer with operating system and applications that in wrong hands can be dangerous (it is like making bombs, selling them, knowing that some day they can be used against yourself). It is a complex system but how to stop i.e. Asterisk or any other similar application from working after a year? It is open source, but compiling my "licence" into the code is not an option. I was thinking about an app that encrypts some config files but can also decrypt them for as long as it has a valid key.
    – R. L.
    May 30, 2014 at 21:18
  • @R.L. Physical access means that the user can do anything with it. You mentioned Asterisk, are you trying to set-up some on-site VOIP server for which your support contract expires? In that case you should have someone who connects the trunk.
    – Lekensteyn
    May 30, 2014 at 22:11
  • @R.L. It really seems that you are asking about enforcing software licensing restrictions, am I right? In my post I break the system, but you could also use the command shred -zu /usr/bin/yourapp /etc/yourconfig to remove your app files from the system.
    – Lekensteyn
    May 30, 2014 at 22:13
  • I try to put some time limit on a system that I build. Indeed, the end user has a full acces to the computer, including the root password. I also have a few licenced programs, but despite the fact that I have a full access to my computers I cannot brake this licencing system by reinstalling the system or editing any files. I mentioned Asterisk, but that was only an example that it is not an option to hardcode any kind of licence directly into an app.
    – R. L.
    May 31, 2014 at 11:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .