<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Programm systemweit nur einmal ausführen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche eine portable Möglichkeit sicherzustellen, dass ein Programm systemweit nur einmal ausgeführt wird. Relevant ist hierbei der Sicherheits-Aspekt (das Programm soll allermöglichst nicht ausgetrickst werden können, auch nicht von jemandem mit Superuser-Rechten). Wenig relevant beim Sicherheitsaspekt ist aber, dass jemand mit Disassembler (o.ä.) versucht das Programm anzugreifen.</p>
<p>Aus diesem Grunde fallen Lockfiles weg (Probleme mit symbolischen Links, Race Conditions etc.). Sockets kommen per Definition leider auch nicht Frage.</p>
<p>Meine nächste Überlegung ging in Richtung POSIX Mutexes. Leider muss das Setzen eines systemweiten Mutexes gemäß POSIX-Spec nicht implementiert sein und über ein Define abgefragt werden. Von daher fallen jene auch weg.</p>
<p>Was bleibt mir an Möglichkeiten? Wichtig wäre, dass diese portabel sind (z.B. Lösung über POSIX oder System V Funktionen). Wenn jemand sicherheitstechnische Bedenken an der Machbarkeit hat, wäre ich natürlich auch an einer Diskussion darüber interessiert.</p>
<p>Grüße und danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139882/programm-systemweit-nur-einmal-ausführen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 11:39:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139882.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 10 Mar 2006 08:01:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm systemweit nur einmal ausführen on Fri, 10 Mar 2006 08:01:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche eine portable Möglichkeit sicherzustellen, dass ein Programm systemweit nur einmal ausgeführt wird. Relevant ist hierbei der Sicherheits-Aspekt (das Programm soll allermöglichst nicht ausgetrickst werden können, auch nicht von jemandem mit Superuser-Rechten). Wenig relevant beim Sicherheitsaspekt ist aber, dass jemand mit Disassembler (o.ä.) versucht das Programm anzugreifen.</p>
<p>Aus diesem Grunde fallen Lockfiles weg (Probleme mit symbolischen Links, Race Conditions etc.). Sockets kommen per Definition leider auch nicht Frage.</p>
<p>Meine nächste Überlegung ging in Richtung POSIX Mutexes. Leider muss das Setzen eines systemweiten Mutexes gemäß POSIX-Spec nicht implementiert sein und über ein Define abgefragt werden. Von daher fallen jene auch weg.</p>
<p>Was bleibt mir an Möglichkeiten? Wichtig wäre, dass diese portabel sind (z.B. Lösung über POSIX oder System V Funktionen). Wenn jemand sicherheitstechnische Bedenken an der Machbarkeit hat, wäre ich natürlich auch an einer Diskussion darüber interessiert.</p>
<p>Grüße und danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013009</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 10 Mar 2006 08:01:38 GMT</pubDate></item><item><title><![CDATA[Reply to Programm systemweit nur einmal ausführen on Sun, 12 Mar 2006 17:06:53 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Relevant ist hierbei der Sicherheits-Aspekt (das Programm soll allermöglichst nicht ausgetrickst werden können, auch nicht von jemandem mit Superuser-Rechten).</p>
</blockquote>
<p>Nun es gibt viele Möglichkeiten das zu realisieren, sofern der Aufrufer keine superuserrechte hat und das prog mit suid läuft. Ich bezweifle jedoch, dass es möglich ist (ausser das prog löscht sich selbst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ), sofern der Aufrufer uid=0 oder eid=0.<br />
Ich weis nicht was Du dammit erreichen willst, aber ich würde mir ein anderes Sicherheitskonzept überlegen. Der root jedenfalls sollt oberste Kontrolle über prozessverläufe haben. Der Versuch ihn auszusperren, bricht jedes Sicherheitskonzept.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1014723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1014723</guid><dc:creator><![CDATA[linu*x*bie]]></dc:creator><pubDate>Sun, 12 Mar 2006 17:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Programm systemweit nur einmal ausführen on Mon, 13 Mar 2006 05:23:19 GMT]]></title><description><![CDATA[<p>linu(x)bie schrieb:</p>
<blockquote>
<p>Ich weis nicht was Du dammit erreichen willst</p>
</blockquote>
<p>Die Idee ist folgende: Ein Lizenzmanager liest eine Lizenzdatei und stellt danach übers Netzwerk die in der Datei angegebenen Lizenzen zur Verfügung. Startet man den Server mehrfach auf verschiedenen Ports, so hätte man die n-fache Anzahl an Lizenzen.</p>
<p>Der Lizenzmanager wird mitausgeliefert. Also wird der Anwender sicherlich das starke Bedürfnis haben, mehr Lizenzen zu bekommen als eigentlich gedacht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1014953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1014953</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 13 Mar 2006 05:23:19 GMT</pubDate></item><item><title><![CDATA[Reply to Programm systemweit nur einmal ausführen on Mon, 13 Mar 2006 22:04:10 GMT]]></title><description><![CDATA[<p>da könnten semaphore helfen.<br />
semaphore sind ähnlich wie mutex aber systemweit.<br />
<a href="http://www.pronix.de/pronix-218.html" rel="nofollow">http://www.pronix.de/pronix-218.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1015748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1015748</guid><dc:creator><![CDATA[ss]]></dc:creator><pubDate>Mon, 13 Mar 2006 22:04:10 GMT</pubDate></item></channel></rss>