Samba megosztások

Fórumok

Sziasztok,

Először írok, ha nem jó helyre jelezzétek.

A problémám: samba megosztást szeretnék készíteni valahogy így:
/home/common/management
/home/common/finance
/home/common/public
/home/common/warehouse

Cél: Windows alatt mindenki lássa a könyvtárakat de csak a könyvtárral azonos nevű csoportba tartozók tudják olvasni. Kivéve management akik az összeset.

Én ezt úgy próbáltam megcsinálni, hogy létrehoztam a debian (Lenny) linuxomban felhasználókat és hozzárendeltem őket csoportokhoz. Pl: szaboist -> management. Ezután a management könyvtárra megadtam a jogokat, hogy csak management userek tudják írni és olvasni. Eddig működik. Létrehoztam a megfelelő usereket a samba-ban is. (kb. 10-12 user lesz). Windows XP-vel ha bemountolom a megosztásomat de sajnos szaboist felhasználó nem olvashatja a management könyvtárat sem és a többit sem. Linux alatt ha bejelentkezem vele tudja írni és olvasni.
(Attól félek, hogy az elv rossz amivel meg akartam ezt oldani.) Köszi

Hozzászólások

smb.conf-ba kell valami ilyesmi is:

[management]
comment = Management
path = /home/common/management
browseable = yes
valid users = @management
writeable = yes

Lehet, hogy nem jól írtam le mit is szeretnék.

Létrehoznék egy ilyen megosztást:
[kozos]
comment = Kozos
path= /home/common
browseable = yes
writeable = yes

A /home/common-on belül a következő könyvtárak kapnak helyet
management
finance
public
warehouse
stb.

Ha bemountolom a kozos megosztást akkor a user lássa az összes alkönyvtárat, de írni és olvasni csak az engedélyezettet tudja, mást nem. Persze pár ember olvasshassa mindet pl: management tagok.

Helló,

Van egy felhasznalom aki szaboist.
groups szaboist parancsra ezt dobja ki: management
Akkor ő tagja a management csoportnak.
ls -l /home/common -ra ezt írja ki:

drwxrwx--x 2 root management 4096 ápr 28 15.47 management
drwxrwx--x 2 root penzugy 4096 ápr 28 16.07 penzugy
drwxrwx--x 2 root konyveles 4096 ápr 28 15.49 konyveles

Viszont a megosztásnál nem tud belemenni a management-be. Látja a könyvtárakat de egyiket sem tudja olvasni. Mit szúrtam el?

Lényeges, hogy a winxp, samba és a linux felhasználói név+jelszó azonos legyen, mert akkor automatikusan felmeppelődik a meghajtó!

/home/common-nak mia a maszkja, 777 legyen!

/etc/samba/smb.conf-ba

[kozos]
path = home
public = yes
printable = no
write list = @group
oplocks = no
create mode = 0644
directory mode = 0775

És a sambát újra kell indítani utána!

Helló,

A felhasználó jelszava mindhárom rendszerben azonos.

A /home/common maszkja 777

A problémám az a te smb.conf file-oddal, hogy ha jól látom az egy megadott csoportnak fog írási jogot adni az egész path -ban megadott könyvtárra.

Az én problémám valószínűleg úgy lehetne megoldani, hogy a könyvtárakra be kellene állítani a Linux-ban a megfelelő jogosultságokat. Ekkor a linux-ban már működik, hogy az összes felhasználó láthatja a könyvtárakat, de csak a megadott csoport tagja léphet és írhat bele.

A gond az, hogy a Samba nem tudom, hogy hogyan veszi figyelembe a Linux jogokat. Nekem úgy tűnik, hogy a bejelentkezett felhasználót valamiért nem a saját csoportjához sorolja.

user map nem segít?
amúgy szerintem ezt így egy megosztáson belül nem lesz egyszerű megcsinálni.

nagyon nem fejtem ki, elég alapos doksija van a samba-nak, van nekik elég sok példa is az example guide vagy miben (párszáz oldalas pdf volt mikor utoljára láttam)

alap dir:

mkdir /home/common
chown root:root /home/common
chmod 775 /home/common

és bár nem domain, de ártani nem árt

# First assign well known groups
net groupmap add ntgroup="Domain Admins" unixgroup=admin rid=512 type=d
net groupmap add ntgroup="Domain Users" unixgroup=users rid=513 type=d
net groupmap add ntgroup="Domain Guests" unixgroup=nobody rid=514 type=d

aztán csinázol csoportokat és szambával összerendeled értelemszerűen

groupadd mgmt
net groupmap ntgroup="Management" unixgroup=mgmt type=d
groupadd grp1
net groupmap ntgroup="Csoport 1" unixgroup=grp1 type=d

csinázol user-eket

useradd -g users -d /nowhere -s /bin/false fonok1
passwd -l fonok1
(echo 'kabbe';echo 'kabbe') | smbpasswd -as fonok1
smbpasswd -e fonok1
#
useradd -g users -d /nowhere -s /bin/false user1
passwd -l user1
(echo 'teis';echo 'teis') | smbpasswd -as user1
smbpasswd -e user1

user-eket group-ba teszed

adduser fonok1 mgmt
adduser fonok1 grp1
#
adduser user1 grp1

aztán csinálsz könyvtárakat

mkdir /home/common/mgmt
chown root:mgmt /home/common/mgmt
chmod 770 /home/common/mgmt
chmod g+s /home/common/mgmt
#
mkdir /home/common/csoport1
chown root:grp1 /home/common/csoport1
chmod 770 /home/common/csoport1
chmod g+s /home/common/csoport1

aztán samba-n beállítod a share-t

[common]
comment = Common
path = /home/common
username = @users
admin users = @it
read only = No
create mask = 0770
directory mask = 0770
oplocks = No
level2 oplocks = No
vfs objects = extd_audit, recycle
recycle:directory_mode = 773
recycle:versions = yes
recycle:keeptree = yes

Ennek így menni kellene

Groupmap nem szükséges, egyébként meg szerintem a force-os mókáknál legjobb a

create mask = 644
force create mode = 644
directory mask = 755
force directory mode = 755

nyilván mask-ok jogai tetszés szerint, write jogot lehet fogni még a
write list = @csoport1, @csoport2
opcióval, sőt, lehet játszani a force group és force user fogalmakkal is...
--
I feel the power!

Force mask-ra még nem volt szükségem, a mask-okat pedig direkt nem user write mindenki más read dologra csináltam, mert néha nem árt, ha tudják egymás dolgait írni is (könyvtárba másol, excel-t módosít, etc.)

A force group-ot pedig sgid-del oldom meg, bár move-lásnál talán jó lenne, mert ott megmarad az előző könyvtárbeli jogosultság.

Groupmap lehet, hogy nem szükséges, de ártani sem árt.

write list pedig ennél a koncepciónál lényegtelen, mindenki írhat (a gyökér könyvtárba persze nem), de hogy hova az a subdir-ek jogával szabályozom.