jboss user hozzáadás

Fórumok

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!

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

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.


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?

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.

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.

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?

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.

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.

"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.

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.

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.

subscribe

ami át van húzva, azt teljesen fölösleges elolvasni. az olyan, mintha ott sem lenne