Portál AbcLinuxu, 14. května 2025 02:07

Dotaz: apache pod vlastnymi uzivatelmi ako na webhostingu

17.8.2010 15:46 adrinko | skóre: 22
apache pod vlastnymi uzivatelmi ako na webhostingu
Přečteno: 293×
Odpovědět | Admin
Zdravicko,

chcel by som poprosit o radu. Mam nainstalovany apache a chcel by som urobit nieco take, aby som mohol mat na mojej ipecke adresy typu www.aaa.sk, bbb.sk, ccc.sk, ktore budu smerovat do vlastnych priecinkov. (toto nastavim v apachy) Otazka je, ako ale apachu poviem, aby pre kazdy priecinok bezal pod vlastnym uzivatelom a teda nie pod userom apache. Viem, ze to tak maju hostingy spravene, aby sa predislo bezpecnostnym rizikam. Ja by som tiez chcel dat kamosom pristup do konkretnych priecinkov cez ftp, aby si mohli nahravat vlastne subory, ale zaroven by sa nikto nemal dostat do inych priecinkov (musi ho to pustit len do vlastnych a tiez ich php skripty nemozu pracovat so subormi z inych priecinkov).

Vdaka za rady
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.8.2010 16:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jste si jist, že na hostingu přistupuje Apache k souborům pod různými uživateli? Není to jednoduše tak, že mají všechny soubory a adresáře nastavena práva pro skupinu, pod kterou běží Apache, nebo práva pro všechny? Pomocí suEXEC se dá zařídit, aby Apache spouštěl pod různými uživateli skripty.
17.8.2010 16:03 NN
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Staci aby si uzivatele pridal do skupiny apache (www-data), takze ve vysledku to bude vypada takto:
 -rw-r--r-- 1 foo www-data 0 2010-08-17 16:00 index.html
NN
17.8.2010 16:23 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
fuha to ste ma veru dostali. viem akurat, ze subory pre kazdu moju domenu patria jedinecnemu pouzivatelovi. chapem tomu spravne, ze ak by to mali nastavene tak, ze ak apache bezi pod urcitou skupinou, a uzivatelia su tiez v tejto skupine, tak mozu pristupovat k adresarom a suborom, ktore maju v povoleniach read/write pre tuto skupinu?

chcel by som hlavne docielit to, aby kazdy uzivatel mohol pracovat cisto len zo subormi pod adresarom, na ktory sa viaze jeho domena.
17.8.2010 18:17 NN
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Funguje to takto:
523  cd /root/
  524  ls
  525  useradd test
  526  useradd test2
  527  touch test
  528  chown test:test test 
  529  groupadd test3
  530  touch test2
  531  chown test2:test2 test2 
  532  s
  533  ls
  534  ls -alih
  535  ls
  536  groups
  537  groups test2
  538  groups test
  539  ls
  540  usermod --help
  541* 
  542  usermod -G test3 test
  543  usermod -G test3 tes2
  544  usermod -G test3 test2
  545  groups test
  546  groups test2
  547  ls
  548  su test
  549  ls
  550  cd /etc/apache2/
  551  ls
  552  cd sites-available/
  553  ls
  554  rm default-ssl 
  555  ls
  556  cp default test2
  557  ls
  558  mv default test
  559  ls
  560  vi test
  561  ls
  562  cat test > test2
  563  ls
  564  vi test2
  565  ls
  566  vi test
  567  vi test2
  568  cd /usr/src/
  569  ls
  570  cata
  571  ls -alih
  572  cd ..
  573  ls
  574  cd /usr/src/
  575  ls
  576  rm -r *
  577  ls
  578  mkdir test
  579  mkdir test2
  580  ls
  581  cd /var/www/
  582  ls
  583  cp index.html /usr/src/test
  584  cp index.html /usr/src/test2
  585  ls
  586  cd /root/
  587  ls
  588  cd /etc/apache2/
  589  ls
  590  cd sites-enabled/
  591  ls
  592  rm *
  593  a2ensite test
  594  a2ensite test2
  595  . /etc/init.d/apache2 start &
  596  ls
  597  useradd www-data
  598  ls
  599  . /etc/init.d/apache2 start &
  600  ls
  601  usermod -G www-data test
  602  usermod -G www-data test2
  603  cd /usr/src/
  604  ls
  605  chown -R test:test test
  606  chown -R test2:test2 test2
  607  ls
  608  cd /etc/init.d/
  609  ./apache2 stop &
  610  ./apache2 start &
  611  lynx localhost
  612  history
  613  history | more
  614  history
  615  history | more
  616  ls
  617  history
  618  cat /root/.profile 
  619  ls
  620  history > /root/hist
Toho bordelu kolem si nevsimej. Vytvoris dve konta a nechas soubory jejim vlastnikum (chown user:user). Kazdy uzivatel je sam sobe skupinou.. ale pridas je do dalsi skupiny (usermod -G www-data), takze si nebudou moc lez po souborech, ale apache je bude moc spoustet.

NN
17.8.2010 18:49 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Pokud může server Apache díky členství ve skupině www-data číst nějaký soubor, může ten soubor číst i jiný uživatel, který je členem skupiny www-data. Takže jenom tímhle způsobem nejde zajistit, aby uživatel nemohl procházet soubory ostatních uživatelů. Aby ostatní uživatelé nemohli číst cizí soubory, i když jsou členy skupiny www-data, je potřeba jim nějak zabránit vstupu do adresářů ostatních uživatelů. Například na kořenové adresáře těch webů odebrat skupině www-data právo x (vlastník se tam dostane, protože právo x vlastníka má přednost, členové skupiny www-data se do něj nedostanou, ostatní ano, pokud je pro ostatní nastaveno právo x). Pak by se tam ale nedostal ani Apache, takže je nutné ještě pro uživatele apache pro dané adresáře přes ACL nastavit právo x. Případně druhá varianta, bez ACL, je všechny uživatele zařadit ještě do skupiny www-data-bez-apache, té odebrat právo x na adresáře a Apache dovnitř pustit přes právo x pro ostatní. Jiný způsob mne nenapadá (pokud teda nechcete další práva přes ACL nastavovat všem souborům a adresářům).

Varianta s ACL:
>ls -l
drwx------+ web1 www-data 6 17. srp 18:30 web1
drwx------+ web2 www-data 6 17. srp 18:30 web2
drwx------+ web3 www-data 6 17. srp 18:30 web3
>getfacl web1
…
user:apache:r-x
…
>getfacl web2
…
user:apache:r-x
…
>getfacl web3
…
user:apache:r-x
…
Varianta s druhou skupinou:
>ls -l
drwx---r-x web1 www-data-bez-apache 6 17. srp 18:30 web1
drwx---r-x web2 www-data-bez-apache 6 17. srp 18:30 web2
drwx---r-x web3 www-data-bez-apache 6 17. srp 18:30 web3
Je to ale jenom teorie, prakticky jsem to nikdy nezkoušel, tak nevím, zda jsem nepřehlédl něco, co by umožnilo takovéhle nastavení práv obejít.
17.8.2010 19:25 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
dakujem pekne za nazorne priklady. musim sa v nich nejako vysomarit :-) a vyskusat to.
17.8.2010 18:11 Lubos Kopecky | skóre: 32
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
Odpovědět | | Sbalit | Link | Blokovat | Admin
apache2 ve verzi itk
18.8.2010 08:59 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: apache pod vlastnymi uzivatelmi ako na webhostingu
nebo použít mpm peruser
-- Nezdar není hanbou, hanbou je strach z pokusu.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.