abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 22:11 | Zajímavý projekt

Padesátiny Unixu lze oslavit také hrou The Unix Game aneb na unixové roury pomocí Scratche.

Ladislav Hagara | Komentářů: 0
dnes 21:44 | Komunita

Vývojáři svobodného 3D softwaru Blender oznámili, že nejnovějším firemním sponzorem Blenderu je společnost Adidas. Jedná se o úroveň Corporate Silver, tj. 12 tisíc eur ročně.

Ladislav Hagara | Komentářů: 0
dnes 18:22 | Komunita

V září proběhla každoroční konference Akademy komunity KDE. Nyní jsou záznamy přednášek dostupné online. Témata se dotýkají aplikací a knihoven KDE, jejich adaptaci pro různá speciální použití (vestavěná zařízení či rozšířená realita) i obecně vývoje a distribuce softwaru.

Fluttershy, yay! | Komentářů: 0
dnes 09:11 | Zajímavý článek

Mozilla.cz informuje o vylepšování vlastních about: stránek Firefoxu, konkrétně o odstraňování volání funkce eval() z těchto stránek. Tyto stránky mají přístup k interním součástem Firefoxu, ale protože jsou napsané v HTML a JavaScriptu, mohou být cílem podobných útoků jako webové stránky zobrazované v prohlížeči (např. vložení cizího kódu nebo obsahu), jen s potenciálně závažnějším dopadem. Pokud by se někomu skutečně povedlo kód do

… více »
Ladislav Hagara | Komentářů: 3
dnes 08:55 | Zajímavý projekt

Uživatel GitHubu joeycastillo představil The Open Book Project, jehož cílem je vytvořit open-source čtečku elektronických knih. Projekt se zatím nachází v rané fázi vývoje, už nyní ale obsahuje použitelný návrh hardware prototypu „Feather Wing“, jehož cílem má být ověření konceptu na 4,2palcovém displeji. Tento koncept je postaven na kitu Adafruit Feather M4 Express, který ovládá hlavní desku s displeji a tlačítky. Po úspěšném ověření

… více »
Bystroushaak | Komentářů: 30
dnes 05:00 | Nová verze

Byla vydána verze 5.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 20:33 | Zajímavý projekt

Byly zveřejněny schémata, firmware a instrukce pro sestavení trackballu Ploopy. Ten používá Arduino, senzor PMW3360 a 1,75palcovou kouli. Zdrojové soubory jsou šířeny pod open-hardware licencí CERN a GNU GPLv3. Tvar je inspirovaný klasickým trackballem Microsoft Trackball Explorer, jehož výroba byla ukončena kolem roku 2005 bez náhrady; projekt Ploopy se k tomu ale z právních důvodů nehlásí. Již vyrobené díly je možno objednat za 200 kanadských dolarů. Další podrobnosti v příspěvcích uživatele crop_octagon na Redditu.

Fluttershy, yay! | Komentářů: 26
včera 20:22 | Nová verze

Vyšlo desktopové prostředí KDE Plasma 5.17. Novinkou je např. „noční režim“ (pro X11, nejen Wayland), skrytí upozornění při prezentacích (když je připojena obrazovka se stejným obrazem), lepší podpora HiDPI, optimalizace využití zdrojů a mnoho drobných zlepšení a oprav.

Fluttershy, yay! | Komentářů: 1
včera 12:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 169. brněnský sraz, který proběhne v pátek 18. října od 19:00 v restauraci Racek (Jungmanova 5). Před srazem proběhne v 18:00 komentovaná prohlídka nových prostor hackerspacu base48 (přístup je z Mojmírova náměstí).

Ladislav Hagara | Komentářů: 8
včera 05:55 | Bezpečnostní upozornění

V příkazu sudo byla nalezena a ve verzi 1.8.28 byla již opravena bezpečnostní chyba CVE-2019-14287. V souboru /etc/sudoers lze nastavit, aby daný uživatel mohl konkrétní příkaz spouštět s právy libovolného uživatele (ALL) nebo libovolného uživatele kromě uživatele root (ALL, !root). Spustí-li tento uživatel daný příkaz se sudo s volbou -u#-1 nebo -u#4294967295, tj. pod uživatelem -1 nebo 4294967295, nebude vyžadována autentizace a příkaz se spustí pod právy roota.

Ladislav Hagara | Komentářů: 1
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (19%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 407 hlasů
 Komentářů: 22, poslední 23.9. 08:36
Rozcestník

www.AutoDoc.Cz

Dotaz: prepis configu a restrat sluzby pod rootom

21.10.2018 10:51 jany2 | skóre: 29 | blog: jany_blog
prepis configu a restrat sluzby pod rootom
Přečteno: 303×
sorry, nie som v tychto veciach zdatny a preto sa chcem opytat.
Potreboval by som v /etc/openvpn/server.conf zakomentovat jeden riadok a nasledne restartnut sluzbu.
Je jasne, ze zmeny v tomto confe a restart sluzby moze robit len root, tak chcem vediet ako to spravit (s tym rootom by az taky problem nebol, lebo mozem sa rovno prihlasit ako root a spustit skript).
Ide o to ako ten skript napisat. Viem len zaklady, ze do suboru na koniec mozem zapisvat cez echo >> ale zatial neviem ako pridat do urciteho riadku "#" resp. ako editovat konkretny riadok.
Cize potreboval by som upravit nejaky riadok v configu (nie konkretne podla cisla riadku, ale podla jeho obsahu, pretoze ta direktova nemusi byt vzdy na tom istom riadku).
Celkovo by mal skript obsahovat editaciu configu + nejaky sleep a restart sluzby.
thx
upozornujem, ze v linuxe som vecny zaciatocnik ...

Odpovědi

21.10.2018 11:19 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Konfigurace se nepřepisuje jak jsi se dnes vyspal!

Takže jako root se upraví konfigurák a už se na něj nesahá!

Jak restartnout službu těžko říct když nevíme distribuci většinou nějak takto: "systemctl restart služba"
Josef Kufner avatar 21.10.2018 12:02 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Pokud chceš upravit konfigurák, přihlaš se jako root, spusť mc, najdi konfigurák, zmáčkni F4.

Pokud chceš nějak automaticky upravovat konfiguraci, tak ji neupravuj, ale generuj ze šablony:
#!/bin/bash

cert="server.crt"
key="server.key"

cat >/etc/openvpn/server.conf <<EOF
proto udp
dev tun
port 1194
ca ca.crt
cert $cert
key $key
EOF

systemctl restart openvpn
Otázkou je, zda to je opravdu dobrý nápad a nešlo by to nějak lépe a jednodušeji.
Hello world ! Segmentation fault (core dumped)
21.10.2018 12:32
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Hlasuji pro "mc, najdi konfigurák, zmáčkni F4".

Pak uprav ručně konfigurák a zmáčkni F2.
21.10.2018 14:42 jany2 | skóre: 29 | blog: jany_blog
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Teraz to robim cez nano :-D Neni v tom problem, je to robota vsude vseho na 1-2 minutky, ale chcel som si to este ulahcit (a potrebujem to spravit raz za 2-3 mesiace). Urcite by to bolo pohodlnejsie spustenim skriptu, ale ak to nebude cez skript, tak svet sa nezruti :) + chcel som zistit (naucit sa) ako editovat nejaky config cez skript s root pravami.
2Josef Kufner zaujmalo by ma ako to riesit generovanim sablon (zatial som sa s tym nestretol).
2Jendа sleep tam nemusi byt .... vyskusam to
thx
upozornujem, ze v linuxe som vecny zaciatocnik ...
21.10.2018 15:25 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Však tohle je šablona. Místo proměnných můžeš použít parametry při volání skriptu.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
21.10.2018 15:27 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Vytkl bych jen nepoužití uvozovek kolem názvů proměnných, jinak OK.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
21.10.2018 12:06 NN
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
sed '23s/.*/#&/' /etc/openvpn/server.conf && service openvpn restart &
Jendа avatar 21.10.2018 14:19 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Je jasne, ze zmeny v tomto confe a restart sluzby moze robit len root
sudo
ale zatial neviem ako pridat do urciteho riadku "#" resp. ako editovat konkretny riadok
sed -ire "s/^(řádek)$/#\1/"
+ nejaky sleep
Proč?
Postavil si radar na kopci. Ale viděl na něm věci.
21.10.2018 15:55 debian+
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Vyssie uz pisali, ako zmenit konkretny riadok. Tak len napisem ako zistit riadok (upoznojuem, mozno existuje viac riesieni, toto je jedno z nich).
$ line=`cat -n /etc/openvpn/server.conf|grep "search text"|awk '{print $1}'`

$ echo "je na riadku: $riadok"
21.10.2018 16:20 debian+
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Tu mas v PHP. Funkcne. Maj vsetky subory v jednom priecinku.

Nastavenie:
$ chmod 700 comment_and_restart uncomment_and_restart
Spustenie:
$ ./comment_and_restart
$ ./uncomment_and_restart
Subor service.conf
id=persone
name=Unknow
last_name=LAST
Subor config.php
<?php

$path_conf="service.conf";
$search="name=Unknow";

?>
Subor comment_and_restart
#!/usr/bin/php
<?php

include "config.php";

function comment_in_file($path, $search)
{
	/*
	 * Read file
	 */
	/* read file as "C array" */
	$file=@file($path);
	if($file === false)
	{
		fputs(STDERR, "Error open/read file '$path'\n");
		exit(1);
	}
	// print_r($file);                      // vypis na overenie
	
	/*
	 * Comming in memory
	 */
	$count=count($file);
	for($a=0;$a<$count; $a++)
		if(strpos($file[$a], $search) !== false)
		{
			if($file[$a][0] != "#")
				$file[$a]= "#".$file[$a];
			else
				fputs(STDERR, "Warning: Uncomment line $a in '$path'\n");
			// break; # uncomment this, if only first searched line
		}
	
	/*
	 * Write from memory to file
	 */
	if(file_put_contents($path, $file) === false)
	{
		fputs(STDERR, "Error open/write file '$path'\n");
		exit(1);
	}
}

comment_in_file($path_conf, $search);
sleep(2);
system("systemctl restart openvpn");
?>

Subor uncomment_and_restart
#!/usr/bin/php
<?php

include "config.php";

function uncomment_in_file($path, $search)
{
	/*
	 * Read file
	 */
	/* nacita pole ako "C array" */
	$file=@file($path);
	if($file === false)
	{
		fputs(STDERR, "Error open/read file '$path'\n");
		exit(1);
	}
	// print_r($file);                      // vypis na overenie
	
	/*
	 * Uncomment in memory
	 */
	$count=count($file);
	for($a=0;$a<$count; $a++)
		if(strpos($file[$a], $search) !== false)
		{			
			if($file[$a][0] == "#")
				$file[$a]= substr($file[$a], 1);
			else
				fputs(STDERR, "Warning: Uncomment line $a in '$path'\n");
			// break; # uncomment this, if only first searched line
		}
	
	/*
	 * Write from memory to file
	 */
	if(file_put_contents($path, $file) === false)
	{
		fputs(STDERR, "Error open/write file '$path'\n");
		exit(1);
	}
}

uncomment_in_file($path_conf, $search)
sleep(2);
system("systemctl restart openvpn");
?>
21.10.2018 22:32 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Mám rád PHP. Takovou hnusárnu si fakt nezaslouží.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
22.10.2018 12:06 debian+
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Konstruktivnu kritiku daj. Ci len skoro prazdne reci.
22.10.2018 13:09 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Nejlepší řešení poskytl Josef Kufner. Mohl bych to přepsat do PHP, ale to by dávalo smysl jen v případě, že bych to chtěl přepínat přes webové rozhraní.

Ještě ke kritice tvého řešení:
  • PHP není C, proto je generování chybových hlášek zbytečné a ty zavináče před file() také
  • Používáš cyklus for tam, kde patří foreach - soubor není pole řádek, ale seznam řádek
  • Máš to rozstrkané ve třech souborech, přitom by stačil jeden parametrizovaný
  • Zapomínáš psát složené závorky. Je to sice jen kosmetická vada, ale časem se ti to vymstí
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
22.10.2018 21:33 debian+
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
PHP není C, proto je generování chybových hlášek zbytečné a ty zavináče před file() také
Nie je. Ale je s nim dost podobny. ... Da sa aj povedal "super C" (pokial viete C). ... A ano. Pouzil som tento pristup, lebo je najlahsi na pochopenie. Pre nezainteresovaneho.
oužíváš cyklus for tam, kde patří foreach - soubor není pole řádek, ale seznam řádek
Aj tak interne sa musi pouzit nejake for. Jednoduchost. A ulahcuje mi to zmenu riadku. Lebo napr. toto nefunguje:
<?php

$array=array("1","2","3","4");
foreach($array as $line)
	if($line == "3")
	{
		echo "set 'X' for value '$line'\n";
		$line="X";
	}
print_r($array);

?>
vystup:
set 'X' for value '3'
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
Vdaka za konstr. kritiku.
Máš to rozstrkané ve třech souborech, přitom by stačil jeden parametrizovaný
Pre jednoduchost. ... Logicku funkcnost si moze sam dat do 1 suboru, alebo napisat. Lahsie napisat "./bla" ako "./rob bla".
Zapomínáš psát složené závorky. Je to sice jen kosmetická vada, ale časem se ti to vymstí
Ak je 1 podmienka, nepisem ju - moj programatorsky styl.
22.10.2018 22:54 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Je třeba umět foreach používat. foreach ($array as &$line) se už bude chovat správně. Jenže když to chceš mít rychlejší, tak je obvykle výhodnější generovat nový seznam.
<?php
 
$array = array("1", "2", "3", "4");
$output = array();
foreach ($array as $line) {
    if ($line == "3") {
        $line="X";
    }
    $output[] = $line;
}
print_r($output);
Jenže PHP umí jít ještě dále:
<?php

$array = array("1", "2", "3", "4");
$komentuj = function ($line) {
    return ($line == "3") ? "X" : $line;
};
print_r(array_map($komentuj, $array));
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
21.10.2018 16:35
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
Neco takoveho:
sed -i -e '
/#NastaveniKtereChciMenit/ s/No/Yes/
/#NastaveniKtereChciMenit/ s/^#//
/^NastaveniKtereChciTakyMenit/ s/^/#/
/^DalsiNastaveniKtereChciMenit/ s/bila/cerna/
' /etc/MojeSluzba/konfigurak

21.10.2018 16:59 pavele
Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
sudo mc -e /etc/openvpn/server.conf && service openvpn restart &

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.