Systemd AmbientCapabilities: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Was wollen wir?= *Einen Socket öffnen unter 1024 mit einem normalen Benutzeraccount <pre> [Unit] Description=Simple Unit [Service] Type=simple ExecStart=/bi…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Unser Programm=
 +
*cat /usr/local/bin/prog
 +
#!/bin/bash
 +
exec netcat -lp $1 >> /tmp/prog.log
 
=Was wollen wir?=
 
=Was wollen wir?=
 
*Einen Socket öffnen unter 1024 mit einem normalen Benutzeraccount
 
*Einen Socket öffnen unter 1024 mit einem normalen Benutzeraccount
Zeile 7: Zeile 11:
 
[Service]
 
[Service]
 
Type=simple
 
Type=simple
ExecStart=/bin/netcat -lp 66
+
ExecStart=/usr/local/bin/prog 9988
StandardOutput=append:/tmp/prog-net.log
 
 
Restart=always
 
Restart=always
User=nobody
+
User=xinux
  
 
[Install]
 
[Install]
 
WantedBy=default.target
 
WantedBy=default.target
 
</pre>
 
</pre>
=Was wollen wir?=
+
=Wie erreichen wie dies?=
*Einen Socket öffnen unter 1024 mit einem normalen Benutzeraccount
+
*AmbientCapabilities=CAP_NET_BIND_SERVICE fügt diese Fähigkeit hinzu.
 
<pre>
 
<pre>
 
[Unit]
 
[Unit]
Zeile 23: Zeile 26:
 
[Service]
 
[Service]
 
Type=simple
 
Type=simple
ExecStart=/bin/netcat -lp 66
+
ExecStart=/usr/local/bin/prog 99
StandardOutput=append:/tmp/prog-net.log
+
Restart=always
 
AmbientCapabilities=CAP_NET_BIND_SERVICE
 
AmbientCapabilities=CAP_NET_BIND_SERVICE
Restart=always
+
User=xinux
User=nobody
 
  
 
[Install]
 
[Install]
 
WantedBy=default.target
 
WantedBy=default.target
 
</pre>
 
</pre>

Aktuelle Version vom 11. Januar 2023, 12:57 Uhr

Unser Programm

  • cat /usr/local/bin/prog
#!/bin/bash
exec netcat -lp $1 >> /tmp/prog.log 

Was wollen wir?

  • Einen Socket öffnen unter 1024 mit einem normalen Benutzeraccount
[Unit]
Description=Simple Unit

[Service]
Type=simple
ExecStart=/usr/local/bin/prog 9988
Restart=always
User=xinux

[Install]
WantedBy=default.target

Wie erreichen wie dies?

  • AmbientCapabilities=CAP_NET_BIND_SERVICE fügt diese Fähigkeit hinzu.
[Unit]
Description=Simple Unit

[Service]
Type=simple
ExecStart=/usr/local/bin/prog 99
Restart=always
AmbientCapabilities=CAP_NET_BIND_SERVICE
User=xinux

[Install]
WantedBy=default.target