Tag Archives: chmod

Sambos serveris mano namuose HowTo Debian squeeze stable

Sveiki, kaip sekas?

Aišku jei Jumi labai paranojikas ir niekuom nepasitikit, ir suprantat, kad kiekviena programulka, su papildoma funkcija, Jūsų serveryje, suteikia įsilaužėliui po papildomą įsilaužimo įrankį tai Jūs galite susikompiliuoti SAMBA iš sources ir štai sambos HowTo. Mes taip nedarysime, juk kaip iš pavadinimo matome tai: naminis serveris, kuris NĖRA pasiekiamas iš išorės.

Taigi mums prireiks:

Taigi, parsisiunčiame SAMBA:


aptitude install samba


sutikime su viskuom, tik įdėmiai paskaitykite ką jis jums siūlo…

Taigi nusikopinkime egzistuojantį sambos configūracinį failiuką ir įmeskime šį, ara pasikeiskite Jau esamą, taip Jūs daugiau sužinorsite apie sambos teikiamus malonumus… taigi:


mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
vi /etc/samba/smb.conf


[global]
workgroup = LINUX
server string = %h server
dns proxy = no
hosts allow = 127.0.0.1 192.168.0.0/16 10.0.0.0/8 172.16.0.0/12
log file = /var/log/samba/log.%m
log level = 2
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
printing = cups
printcap name = cups
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536 SO_KEEPALIVE
deadtime = 15
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite
full_audit:failure = none
full_audit:facility = LOCAL7
full_audit:priority = NOTICE
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
security = share
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
guest only = yes
public = yes
read only = yes
create mask = 0700
create mode = 0700
use client driver = yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[DL]
path=/home/Downloads
writeable = no
valid users = USERNAME
public = no
browseable = no
available = yes


Taigi Šiame konfigūraciniame faile matome 4 pagrindines sekcijas (P.S. kas redaguojate originalų sambos failiuką… # ir ; reiškia komantarą, viskas kas už šių ženklų iki naujos eilutės, nebus traktuojama sambos serverio)

  1. [global]
  2. [homes]
  3. [printers]
  4. [print$]
  5. [DL]

Vienetuku ir dvejetuku pažymėtos sekcijos yra SAMBA išmyslas… 🙂 [global] skiltyje aprašomi bendri samba parametrai, kurie bus taikomi visai SAMBA’i ir visiems padalintiems resursams, kuriuose nepasakysime kitaip. Tuo tarpu [homes] tai yra paviešintas/padalintas/už’share’intas resursas, kurio funkcija, paviešinti naudotojo namų katalogus. T.Y. naudotojas prisijungęs, praėjęs autentifikaciją, užėjus į serverį per windows’us, pamatys savo namų katalogą SAMBA sistemoje.
SAMBA naudotojai turi egzistuoti ne tik Linux/Unix sistemoje, bet ir SAMBOS autentifikavimo sistemoje, nes SAMBA saugo slaptažodį tokiu pat formatu, kaip ir WINDOWS OS.

Taigi, sekančios sekcijos [printers] ir [print$] yra reikalingos, jei mes norime per Linux paviešinti spausdintuvą.

Taigi paskutinė opcija [DL] yra mano paviešintas resursas tinkle.


[DL]
path=/home/Downloads
writeable = no
valid users = USERNAME
public = no
browseable = no
available = yes


  • DL – tokiu pavadinimu yra pasiekiamas resursas vietiniame tinkle \\Serverio_IP\DL
  • path=/home/Downloads – čia nurodoma, kurią direktoriją norime paviešinti…
  • writeable = no – Į šį resursą, nebus galima įrašyti duomenų
  • valid users = USERNAME – ši opcija nėra būtina, bet aš nenoriu, kad į šią direktoriją patektų betkas, o tik naudotojai kurie praėjo autorizaciją
  • public = no – Resursas nėra viešai pieinamas, neautorizuoti naudotojai nealės čia patekti
  • browseable = no – Resursas nėra MATOMAS užėjus į serverį per explorer.exe į \\Server_IP jo nepamatysite, nebent pakeisite į yes
  • available = yes – resursas yra įjungtas, kai jums jo nebereikės, bet nesinorės trinti visų nustaytymų bei tingėsite komentuoti, tiesiog parašome čia no ir viskas 😉

Taigi, beliko sužinoti, kaip pridėti naudotoją prie SAMBA sistemos… Tam mums reiktų, dėl viso pikto perkrauti SAMBA serverį ir tuomet pridėti naudotoją, kuris jau yra mūsų sistemoje, o jei jo nėra jį ten sukurti:


/etc/init.d/samba restart # perkrovem SAMBA
useradd -s /bin/false -m naudotojas # Sukuriame sisteminį naudotoją tik sambai
smbpasswd -a naudotojas # pridedame jį prie SAMBA duomenų bazės.

tai tiek… nor yra dar daug ko čia papasakoti.

Palink Kaledų Stebūklas, kaip galima?


Taigi, mano siūlymas yra naudoti vieną skaitliuką visiems tinklapiams, kaip jumi į tai? Kas norite prisijungti prie mūsų ar basiūlyti mums jūsų skaitliuką, rašykite, susitarsime, beje štai mano skriptas: <script type=”text/javascript” src=”http://www.kaledustebuklas.lt/code.php?uid=916″></script>

Kai tik įdėjau skaitliuką į tinklapį, aš pamačiau, kad mano tinklapyje esantis skaitliukas nieko nesurinks… Todėl aš bandžiau ieškoti žmonių, kurie galėtų su manim pasidalinti, nei vienas jų man neatsiuntė savo skaitliuko kodo, taigi teko kelti savo skaitliuką.

„Mes juk naudojame Linux… hm… 🙂 reikia sukurti skriptą“, pasakė mano draugas. Na taip ir gimė skriptas paremtas crontab’u. Taigi nusikopijuokite skriptuką ir nupastinkite jį į ~/kaledustebuklas


#!/bin/bash

wget -q http://www.kaledustebuklas.lt/code.php?uid=916 -O /tmp/b

wget –delete-after `cat /tmp/b|sed -e ‘s/ /\n/g’|grep uid|sed ‘s/..$//g’|cut -d\’ -f2`

rm -f /tmp/b


Taigi įdėjus šį skriptuką į crontab’ą:


* */1 * * * wget http://www.kaledustebuklas.lt/code.php?uid=916 –delete-after -r -l 1 -np ; rm -rf www.kaledustebuklas.lt

* */1 * * * ~/kaledustebuklas


Beje, visa tai daroma tuo pačiu naudotoju 😉

P.S. aš pamiršau, kad reikia suteikti ~/kaledustebuklas skriptui exec teises, tai galime padaryti šia komanda:


chmod a+x ~kaledustebuklas


Ašiū!

Naudojamos komandos / programos:

  • crontab
  • bash
  • wget
  • grep
  • sed
  • rm

chmod mažas aprašas

Komanda

chmod parametrai /kelias/iki/bylos

Pavyzdžiai:

 /kelias/iki$ chmod 543 /kelias/iki/bylos
 /kelias/iki$ chmod g+w bylos
 /kelias/iki$ chmod o-x,u+x `pwd`/bylos
 /kelias/iki$ chmod 0001 ../iki/*

Parametrai

User bitas

Set Bito sk Bito pav File Directory

Group bitas

Set Bito sk Bito pav File Directory

Other bitas

Set Bito sk Bito pav File Directory

Specialusis bitas

Set Bito sk Bito pav File Directory
+t 1 Sticky Tradiciškai Sticky bit buvo naudojamas išsaugoti/išlaikyti exec failą atmintyje, šiais laikais atmintis yra pigi, todėl ši funkcija nėra svarbi. Sticky bit šiai dienai įtakoja tik katalogą. Kuomet papkei uždėtas Sticky bit, jis užtikrina tamtikroje papkėje sukurtus failus gali ištrinti tik naudotojas, kuris juos sukūrė (pvz, /tmp).
+s 2 UID UID naudojamas kai mes norime, kad mūsų sukurtas failas būtų įvykdytas failo kūrėjo teisėmis. UID naudojamas kai mes norime, kad mūsų sukurtas failas būtų išsaugotas papkėje ir turėtų file owner reikšmę tą pačią, kaip ir direktorija.
+s 4 GID GID naudojamas kai mes norime, kad mūsų sukurtas failas būtų įvykdytas failo grupės teisėmis. GID naudojamas kai mes norime, kad mūsų sukurtas failas būtų išsaugotas papkėje ir turėtų group owner reikšmę tą pačią, kaip ir direktorija.

apt-mirror konfigūrafimas

Konfigūracija

Mano /etc/apt/mirror.list turinys be komentarų grep -E ‘^[^#]’ /etc/apt/mirror.list:

set nthreads     20
set _tilde 0
set base_path		/path/to/mirror/
set mirror_path	$base_path/debian
set skel_path		$base_path/skel
set var_path		$base_path/var
set cleanscript	$var_path/clean.sh
set nthreads     5
set _tilde 0
deb-i386 http://debian.balt.net/debian/ stable main non-free contrib
#deb-src http://debian.balt.net/debian/ stable main non-free contrib
deb-i386 http://security.debian.org/ stable/updates main contrib non-free
#deb-src http://security.debian.org/ stable/updates main contrib non-free
clean http://debian.balt.net/debian
clean http://security.debian.org/

Jeigu jums reik source paketų, pridėkite juos. Taip pat galite pridėti daugybę kitų resursų. Taip pat reikia sukurti debian, skel, varkatalogus ir jiems suteikti write permission: cd /path/to/mirror ir sudo chmod u+w,g+w,o+w debian var skel

Programos paleidimas

Jeigu konfig8racijos failą sukūrėte /etc/apt/mirror.list tai jums užteks parašyti komandinėje eilutėje apt-mirror, jeigu mirror.list bylą sukūrėte kitur, jums teks nudoryti dar ir kelią iki direktorijos, kur guli jūsų konfiguracinis failas: apt-mirror /path/to/mirror.list.