Hozzászólások
rsa-kulcsot generálni (már leírták), aztán vmi ilyesmi:
<?
$command="ls /akarmi";
$output=passthru("ssh -l remoteuser remote.host.org sudo -u masikuser ".$command );
echo "kimenet: ".$output;
?>
ilyesmire lehet pl használni:
http://www.auhof.eduhi.at/~macska87/webbash/
Üdv, Csaba
- A hozzászóláshoz be kell jelentkezni
Ok kipróbálom, de a system("sudo adduser ...") nem lett végrehajtva, holott ugyanez a command ablakban lefut!
Miért?
- A hozzászóláshoz be kell jelentkezni
$PATH?
chrootolt apache esetleg?
jogosultsagok?
- A hozzászóláshoz be kell jelentkezni
Hali!
Sajnos nekem nem megy a fent leírt prg. hívás!
passthru("sudo -u root adduser );
vagy még a
passthru("/usr/bin/sudo -u root ls ); ennek sincs kimenete.
Szerintem végre sem hajtódik.
Miért? :cry: :cry:
whereis sudo
sudo: /usr/bin/sudo /usr/share/man/man8/sudo.8.gz
- A hozzászóláshoz be kell jelentkezni
Hali!
PHP-ből szeretnék rendszerprogramot hívni, amihez csak a root-nak van joga (iptables -n -L, adduser, passwd).
Nem találtam erre megoldást, csak a popen() fügvényt, ahol a su parancsot adom ki és megadom a jelszót bemeneti adatként (nem szeretném, ha a root jelszó látszana bármely php programomban is).
Ezt hogyan llehetne kikerülni?
Nagyon jó ötletre várok.
köszi.
- A hozzászóláshoz be kell jelentkezni
sudo?
- A hozzászóláshoz be kell jelentkezni
[quote:a905906c7c="gabcsi"]Hali!
Sajnos nekem nem megy a fent leírt prg. hívás!
passthru("sudo -u root adduser );
vagy még a
passthru("/usr/bin/sudo -u root ls ); ennek sincs kimenete.
Szerintem végre sem hajtódik.
Miért? :cry: :cry:
whereis sudo
sudo: /usr/bin/sudo /usr/share/man/man8/sudo.8.gz
a /var/log/http/error_log nagyon informativ szokott lenni.
Amugy meg ha a sudoers jol van megirva nem kell sudo -u root eleg a sudo maga es inkabb whereis adduser...
Jha es az eles rendszernel hasznalj ob_start es ob_end_clean-t hogy elrejtsd a system message-t.
- A hozzászóláshoz be kell jelentkezni
én ezt egy kissé másként oldottam meg..
van egy dnotify nevű program, ami funkcióját tekintve olyan mint a fam.
van .deb csomag is és ha fordítani kell az sem bonyolult.
ha rootként futtatod, az általa meghívott parancsok is rootként fognak futni.
szvsz szerverre vétek sudo-t rakni....
- A hozzászóláshoz be kell jelentkezni
[quote:6d536ca5e3="mrbond"]én ezt egy kissé másként oldottam meg..
van egy dnotify nevű program, ami funkcióját tekintve olyan mint a fam.
van .deb csomag is és ha fordítani kell az sem bonyolult.
ha rootként futtatod, az általa meghívott parancsok is rootként fognak futni.
szvsz szerverre vétek sudo-t rakni....
A sudo-ban tokeletesen lehet korlatozni, hogy miket milyen jogkorrel futtathat. Miert lenne vetek?:) Bar megoszlanak a velemenyek az tuti.
- A hozzászóláshoz be kell jelentkezni
exim, psql, apache
- A hozzászóláshoz be kell jelentkezni
[quote:7e71de0bbe="gabcsi"]Hali!
Sajnos nekem nem megy a fent leírt prg. hívás!
passthru("sudo -u root adduser );
vagy még a
passthru("/usr/bin/sudo -u root ls ); ennek sincs kimenete.
Szerintem végre sem hajtódik.
Miért? :cry: :cry:
whereis sudo
sudo: /usr/bin/sudo /usr/share/man/man8/sudo.8.gz
ez azt szokta jelenteni, hogy pl nem adtad meg sudonak, hogy azt a parancsot jelszo nelkul futtassa. Ehhez add meg a NOPASSWD vagy hasonlo opciot az adott parancsnak az /etc/sudoers fileban. Hasznos lehet meg a syslog nezegetese, sudo mindig kiirja, ha lefuttat valamit. Ha nem irja ki, akkor nem futtatta le, ergo var a jelszora, vagy valami mas a gond.
onyx
- A hozzászóláshoz be kell jelentkezni
Perl-ben miért lehet ezeket meghívni?
(pl.: xxx/cgi-bin/yyy.pl )
sudo van deb csomagban?
- A hozzászóláshoz be kell jelentkezni
[quote:b1619542a7="gabcsi"]
sudo van deb csomagban?
igen, van
apt-get install sudo
visudo -van szerkeszd az /etc/sudoers filet.
- A hozzászóláshoz be kell jelentkezni
[quote:8cb41e8a58="gabcsi"]sudo van deb csomagban?
Természetesen.
Részletek itt:
[code:1:8cb41e8a58]man sudoers[/code:1:8cb41e8a58]
- A hozzászóláshoz be kell jelentkezni
[quote:0a73c96ccc="mrbond"]szvsz szerverre vétek sudo-t rakni....
Olyan rossz az, ha pontosan beallithatod a jogosultsagokat? Legyen inkabb full root? :)
- A hozzászóláshoz be kell jelentkezni
[quote:ef45fa4485="bitumen"]
<?
$command="ls /akarmi";
$output=passthru("ssh -l remoteuser remote.host.org sudo -u masikuser ".$command );
echo "kimenet: ".$output;
?>
Egy másik megoldás lehet a PHP SSH2 függvényeit használni (http://php.net/ssh2).
- A hozzászóláshoz be kell jelentkezni
Hali!
Minden működik. :lol: :lol:
Kérdésem most már csak az, hogy a config file-t hogyan tudom írni, ha csak root jogosultsággal lehet.
- A hozzászóláshoz be kell jelentkezni
[quote:01167c938b="gabcsi"]Hali!
Minden működik. :lol: :lol:
Kérdésem most már csak az, hogy a config file-t hogyan tudom írni, ha csak root jogosultsággal lehet.
Milyen config file-t?
- A hozzászóláshoz be kell jelentkezni
Köszönöm a hozzászólásokat.
A másik kérdésem arra vonatkozna, hogyan lehetne a legegyszerűbben megoldani ugyanezt a problémát, ha a futatandó v. megváltoztatandó config file-ok egy másik gépen vannak. Persze mindezt php alól.
Nagyon várom az ötleteket.
- A hozzászóláshoz be kell jelentkezni
[quote:2c94e76f59="gabcsi"]Köszönöm a hozzászólásokat.
A másik kérdésem arra vonatkozna, hogyan lehetne a legegyszerűbben megoldani ugyanezt a problémát, ha a futatandó v. megváltoztatandó config file-ok egy másik gépen vannak. Persze mindezt php alól.
Nagyon várom az ötleteket.
public key, ssh, bash script,
- A hozzászóláshoz be kell jelentkezni
mocsi!
Lehetne egy kicsit bővebben? egy -két sort példaként légy olyan kedves.
Előre is köszönöm.
- A hozzászóláshoz be kell jelentkezni
[quote:f4911f5eb4="gabcsi"]mocsi!
Lehetne egy kicsit bővebben? egy -két sort példaként légy olyan kedves.
Előre is köszönöm.
1. public key azért kell, hogy ne kérjen jelszót a loginhoz. Persze ez rogton egy sechole...
ssh-keygen -t rsa
legyart ket file-t és a .pub tartalmát a server oldalon a $HOME/.ssh/authorized_keys majd modositani az ssh_config-ot hogy eloszor public key-vel kezdje az autentikalast
2. majd kiadni hogy ssh host.name egy_bash script username passsss
a kis script meg mondjuk valami ilyesmi:
echo pass >/tmp/temp
passwd username </tmp/tmp
rm -f /tmp/temp
Bena, de most hirtelen nem jut eszembe mi az ami stdinre dobja karatkert. asszem xargs vagy valami hasonlo
Esetleg megoldas, hogy a server-en csinalsz egy filet a user pass kombinacioval majd a masik gep kerdezi meg egy cron job-ban percenken hogy van-e ujdonsag...
- A hozzászóláshoz be kell jelentkezni