Sziasztok!
Szolgáltatásként (daemon) szeretnék futtatni egy jBoss szervert. A leírásban azt tanácsolták, hozzunk létre ehhez egy pl. 'jboss' usert (jelszó nélkül???) és tiltsuk le a direct loginját.
Szóval hogy lenne érdemes létrehozni egy ilyen user-t?
Köszi szépen!
- 2021 megtekintés
Hozzászólások
direct login letiltása, pl.:
/etc/passwd fájlban átírod az adott user shelljét (utólsó ":" után):
jboss:x:1003:1003:jboss:/home/jboss:/dev/null
vagy
jboss:x:1003:1003:jboss:/home/jboss:/bin/false
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen a választ. Sajnos addig ügyeskedtem, amíg nem tudom hogyan, de minta leállt volna minden socket szolálgatás.
jBoss szerver nem indul, tomcat -nél akármilyen porton próbáltam elindítani:
java.net.BindException: Cannot assign requested address
mysqld futtatásra:
...
The error means mysqld does not have the acces rights to the directory.
...
Pedig mysql-het nem is nyúltam
Ezért gondolom azt hogy valami globális szinten szállt el valamilyen hálózati szolgáltatás.
Nagyon örülnék, ha valaki tunda nekem segíteni, tanácsot adni.
- A hozzászóláshoz be kell jelentkezni
ha eddig rootként futtattad, 1024 alatti porton, akkor nem-rootként már nem lesz jogod ehhez.
- A hozzászóláshoz be kell jelentkezni
sudo mysqld
081111 18:21:17 InnoDB: Started; log sequence number 0 43665
081111 18:21:17 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
081111 18:21:17 [ERROR] Do you already have another mysqld server running on port: 3306 ?
Mintha zárva lennének a portok.
ugyanakkor:
sudo netstat -lnptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::22 :::* LISTEN 6624/sshd
tehát csak az ssh van használva.
Az nmap eredménye a fix ip címemen nem talál semmit.
Hogy lehetne kideríteni, miért nem tudnak kapcsolódni a portokhoz?
- A hozzászóláshoz be kell jelentkezni
interfészek megvannak, futnak?
--
Gabriel Akos
- A hozzászóláshoz be kell jelentkezni
Kösz a replyt.
ifconfig
eth0 Link encap:Ethernet HWaddr 00:13:20:6d:b0:e2
inet addr:192.168.0.50 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::213:20ff:fe6d:b0e2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37001 errors:0 dropped:0 overruns:0 frame:0
TX packets:20653 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42267082 (40.3 MB) TX bytes:1735483 (1.6 MB)
Távolról lépek be ssh-val tehát megy a hálózat.
De írd meg, mit ellenőrizzek még.
- A hozzászóláshoz be kell jelentkezni
Mivel a statikus ip címem 192.168.0.50 ezért a /etc/mysql/my.cnf -ban a bind addresst át kellett írni erre. Ezek szerint localhoston nem is tudom elindítani a mysql szervert?
- A hozzászóláshoz be kell jelentkezni
Vakuljak meg, de en nem lattam 'lo' nevu interfeszt. Ezt kerdeztek.
Tippelek, debian/ubuntu:
# /etc/network/interfaces
auto lo
iface lo inet loopback
Ezutan parancssorbol:
# ifup lo
Ekkor mar lehet bindelni a 127.0.0.1-re.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen. Ez hiányzott.
- A hozzászóláshoz be kell jelentkezni
Létrehoztam egy 'jboss' usert.
/etc/paswd:
...
jboss:x:1001:1001::/home/jboss:/bin/false
...
Ha az init scriptben
su -l -c "/home/jboss/jboss/bin/run.sh -b 192.168.0.50 > /dev/null 2> /dev/null &"
szerepel, szépen elindul, de ha azt akarom, hogy a 'jboss' user futtassa
su -l jboss -c "/home/jboss/jboss/bin/run.sh -b 192.168.0.50 > /dev/null 2> /dev/null &"
akkor nem indul el.
Esetleg valami ötlet?
- A hozzászóláshoz be kell jelentkezni
bizonyára beszédesebb lesz, ha kiveszed a parancsból a > /dev/null 2> /dev/null & részt.
- A hozzászóláshoz be kell jelentkezni
Sajnos így sem indul el és hibaüzenetet sem ír. Ha nem sudo-val indítom, jelszót kér, de a jboss userhez nincs beállítva jelszó, tehát nem tudom mit adhatnék neki
- A hozzászóláshoz be kell jelentkezni
1) Nem ismerem a jboss-t de mindenkeppen tedd debug/verbose modba.
2) erdemes lehet a start-stop-daemon nevu cuccot kiprobalni. Esetedben:
start-stop-daemon --start --quiet --background --chuid jboss:jboss --exec /home/jboss/jboss/bin/run.sh -- -b 192.168.0.50 > /dev/null 2> /dev/null &"
Megneznem meg a fajlok/mappak jogosultsagait, valamint azt ne feledd el, hogy < 1024 portra non-root user nem tud bindelni.
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Közben én is eljutottam a start-stop-daemon-ig. Beírtam pont azt, amit te is írtál és átraktam a jboss könyvtárat a /usr/local-ba.
A mappában ls-l
ls -l
total 204
drwxr-xr-x 2 jboss jboss 4096 2008-11-12 20:48 bin
drwxr-xr-x 2 jboss jboss 4096 2008-11-12 20:48 client
-rw-r--r-- 1 jboss jboss 6134 2008-11-12 20:48 copyright.txt
drwxr-xr-x 7 jboss jboss 4096 2008-11-12 20:48 docs
-rw-r--r-- 1 jboss jboss 60811 2008-11-12 20:48 jar-versions.xml
-rw-r--r-- 1 jboss jboss 8178 2008-11-12 20:48 JBossORG-EULA.txt
-rw-r--r-- 1 jboss jboss 33732 2008-11-12 20:48 lgpl.html
drwxr-xr-x 3 jboss jboss 4096 2008-11-12 20:48 lib
-rw-r--r-- 1 jboss jboss 62697 2008-11-12 20:48 readme.html
drwxr-xr-x 5 jboss jboss 4096 2008-11-12 20:48 server
Sajnos a parancsra :start-stop-daemon: Unable to set gid to 1001 (Operation not permitted)
sudo-val megy.
- A hozzászóláshoz be kell jelentkezni
Esetleg van valakinek valamilyen ötlete?
- A hozzászóláshoz be kell jelentkezni
"Unable to set gid to 1001 (Operation not permitted)"
Ennek 3 oka lehet: 1) nem vagy root 2) grsec/rsbac/selinux van 3) nincs ilyen usered.
Sorrendben a megoldasok:
1) init scriptet rootkent inditunk (sudo /etc/init.d/jboss start)
2) A sudonak setuid/setgid jogot kell adni RSBAC/GrSec eseten, SELinux eseten pedig utana kell nezni, milyen contextbe valo is o.
3) Vagy az uid rossz, vagy elirtad az id-t. A start-stop-daemon kepes usernevet is feloldani, nem kell uid neki.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
1-2): sudo-val megy, csak nem szeretném, ha a szerver root jogokkal futna biztonsági okokból. Vagy ez nem gond?
3): Biztos, hogy van jboss:jboss account, amivel indítok.
- A hozzászóláshoz be kell jelentkezni
Szóval a sudo-val való indítást nem érzitek veszélyesnek?
- A hozzászóláshoz be kell jelentkezni
Oke, akkor vegyuk at ujra:
A
start-stop-daemon --start --quiet --background --chuid jboss:jboss --exec /home/jboss/jboss/bin/run.sh -- -b 192.168.0.50 > /dev/null 2> /dev/null &
kvazi vegrehajt egy
su - jboss -c '/home/jboss/jboss/bin/run.sh -b 192.168.0.50'
parancsot, ehhez viszont a start-stop-daemon-t root-kent kell inditani. Ez a megfelelo init script root-kent inditasaval tortenik. sudo /etc/init.d/jboss start.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Tehát akkor nincs más választásom, csak root-ként tudom elindítani a daemont?
- A hozzászóláshoz be kell jelentkezni
Olvasd el megegyszer, nagyon kerlek. Hint: legalabb a su parancsot nezd meg.
Hhhhhhh.... oke.
Naszoval, alap linuxos oktatas, ugyan ezt nem nekem kellene, de hat istenem, ha mar masutt nem tanultad meg, legalabb itt:
User - felhasznalo linux rendszeren, mint pl.: jboss
Root - szuperadmin, mindenre kepes
su - parancs, melyel megvaltoztathatjuk az identitasunkat. Pontosabban egy masik user neveben indithatunk el valamit, peldaul egy shellt, vagy egy masik programot.
A su elso parametere a cel felhasznalo, akinek a neveben szeretnenk eljarni. A -c opcio parametere a vegrehajthato parancs (ha ez nincs, akkor az aktualis shell lesz az.
Tehat a
su - jboss -c '/home/jboss/jboss/bin/run.sh -b 192.168.0.50'
parancs a jboss user neveben indit el egy parancsot, konkretan a jboss home-jaban levo run.sh-t a megadott parameterekkel. A kis minusz jel a su parancs utan arra utasitja a su-t, hogy az osszes kornyezeti valtozot ertekelje ujra, es valtson be a megadott nevu user home mappajaba, ha ez lehetseges.
A start-stop-daemon-os peldaban a cel felhasznalo a --chuid parameter argumentumakent van megadva, a -- utan pedig a jboss opcioi vannak - ha ezt fel tudod ismerni.
Namarmost, a root-nak megvan az a kivaltsaga, hogy buntetlenul es korlatlanul valthat identitast, es indithat el masok neveben akarmit. Az init scriptet tehat root-kent elinditva az tortenik, hogy a jboss program jboss userkent indul el.
Remelem sikerult minden aggodalmadat eloszlatnom.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
80-as portra akkor se fog tudni bindolni a jboss user.
--
Gabriel Akos
- A hozzászóláshoz be kell jelentkezni
Oké, köszi szépen, most már világos.
- A hozzászóláshoz be kell jelentkezni
passwd -l jboss
Vagy man passwd | grep lock
- A hozzászóláshoz be kell jelentkezni
subscribe
ami át van húzva, azt teljesen fölösleges elolvasni. az olyan, mintha ott sem lenne
- A hozzászóláshoz be kell jelentkezni