Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Był sobie Jaś i Małgosia. Jaś ma laptopa i Małgosia ma laptopa. Jaś trzyma na swoim komputerku gołe baby i zazdrośnie ich pilnuje, Małgosia na swoim - zdjęcia z wieczoru panieńskiego (wciąż ma moralniaka). Oprócz tego to tu, to tam są wspólne zdjęcia z wakacji, z wesela, z wycieczki. I te wspólne zdjęcia Jaś i Małgosia chcą trzymać na serwerze. Serwer to klasyczny blaszak, na którym i Jaś i Małgosia mają swoje konta.
Reasumując: na blaszaku jest partycja /dane, gdzie będą wspólne zdjęcia, na blaszakowym koncie Jasia - dostęp dla Jasia z laptopa Jasia, na blaszakowym Małgosi - dostęp dla Małgosi z jej laptopa.
Pytanie 1 - config samby, przy czym na swoje wchodzą na hasło, na wspólne - może być wspólne hasło albo bez; na swoich kontach mają pełne prawa, na wspólnym też:
[homes] comment = Jaś i Małgosia path = /dane writable = yes browseable = yes guest ok = no valid users = Jaś Małgosia write list = Jaś Małgosia [Jaś] comment = Jaś path = /home/Jaś writable = yes browseable = yes #czy to oznacza, że jest widoczny dla Małgosi ale niedostępny? valid users = Jaś write list = Jaś [Małgosia] comment = Małgosia path = /home/Małgosia writable = yes browseable = yes valid users = Małgosia write list = Małgosia
Oczywiście tworzę Jasia i Małgosię w sambie;
Pytanie 2
Udostępnianie plików. Sieciowe rozumiem mam załatwione, teraz chodzi o lokalne, czyli dostęp z pełnymi prawami Jasia/Małgosi ze swojego konta na blaszaku do partycji /dane - jak to ugryźć? Stworzyć grupę dane, nadać jej pełnię praw i dodać do niej Jasia i Małgosię? Przy okazji dostęp do /dane w sieci mógłbym uzyskać przez wpis force group dane?
Czyli - swoje tajemnice trzymają na laptopach i na swoich kontach na blaszaku, a na wspólną partycję mogą dowolnie wrzucać czy usuwać wedle uznania, zarówno przez sieć, jak i lokalnie, logując się na blaszak.
Liczę na Wasze sugestie ;)
Ostatnio edytowany przez ippo76 (2010-07-14 05:59:33)
Offline
Na własnych kontach, user jaś grupa jaś i analogicznie w przypadku małgosi, do tego odpowiedni umask dla usera i grupy, w sambie odpowiednie uprawnienia (valid users, write list itp)
Konto wspólne najlepiej suid dla katalogu, wtedy tworzone pliki maja grupę tego katalogu a nie usera, który tworzy pliki/katalogi, do tego oczywiście odpowiedni umask. Albo lepki bit dla katalogu (jak w linuksowym /tmp) wtedy tylko właściciel pliku może go usunąć/zmienić nazwę.
Albo ACL.
Zwróć uwage na konfig samby, zwalaszcza jak uzywasz force user/group.
Offline
Dzięki,
Samba w zasadzie działa, pozostała partycja /dane dostępna lokalnie.
[quote=andreq]....
Konto wspólne najlepiej suid dla katalogu, .....[/quote]
Nie chodzi o konto wspólne na serwerze, tylko dostęp do partycji /dane na pełnych prawach zarówno dla Jasia z jego konta, jak i Małgosi, z jej konta. Na razie /dane wygląda tak:
drwxrwx--- 12 Jaś users 4096 lip 13 20:06 dane
ale czuję, że to nie jest najlepsze rozwiązanie.
Offline
To ustaw prawa na:
drwxrws--- 12 Jaś users 4096 lip 13 20:06 dane
Wtedy w tym katalogu wszystkie nowo tworzone pliki i katalogi będą należały do grupy users (w twoim przykładzie), dodajesz Małgosię i Jasia do grupy users i ustawiasz odpowiednia maskę dla nowo tworzonych plików/katalogów tak aby grupa users miała do nich odpowiednie prawa dostępu.
Offline
dlaczego przeplacasz. ja ostatnio placilem tu 5.20+VAT
Offline
[quote=lubomir]dlaczego przeplacasz. ja ostatnio placilem tu 5.20+VAT[/quote]
Urzekł mnie urokiem osobistym ;)
Offline
[quote=andreq]... dodajesz Małgosię i Jasia do grupy users i ustawiasz odpowiednia maskę dla nowo tworzonych plików/katalogów tak aby grupa users miała do nich odpowiednie prawa dostępu.[/quote]
Z tym ustawieniem maski to nie kumam - mam umask globalny, na partycję /dane raczej nie nałożę, bo partycja jest w ext3. Pozostają wpisy do .bash_profile. Ale czy to zadziała, jeśli Małgosia używa windowsa?
W tej chwili - jak pisałem, na partycji są prawa 770 (rekurencyjnie) ale wszystko co tworzą Jaś i Małgosia spod linuksa ma prawa 751 (nie sprawdzałem jeszcze uprawnień plików tworzonych spod windowsa).
Edyta:
create mask = 0770 directory mask = 0770
chyba załatwia sprawę ;)
...chyba nie, bo tylko w sambie a lokalnie pliki mają uprawnienia 644 a foldery 755
a zależałoby mi, żeby i lokalnie i w sieci tworzone pliki i foldery miały 770 :(
Ostatnio edytowany przez ippo76 (2010-07-15 20:58:40)
Offline
W sambie dodaj:
force create mode = 0770 force directory mode = 0770
a w linukse w [b].bash_profile[/b]
umask 007
Offline
[quote=andreq]W sambie dodaj:
force create mode = 0770 force directory mode = 0770
[/quote]
Tak zrobiłem i działa w sambie.
[quote=andreq]a w linukse w [b].bash_profile[/b]
umask 007
[/quote]
Natomiast lokalnie, przy [tt]umask 003[/tt] w [tt].bash_profile[/tt] mam prawa 770 na tworzonych katalogach, czyli takie jak chcę ;)
W [tt]suidy[/tt] i [tt]sguidy[/tt] nie będę ingerował, bo na partycji nie ma programów tylko dane (zdjęcia, muzyka, itp.).
Dzięki za pomoc :)
Ostatnio edytowany przez ippo76 (2010-07-16 08:10:33)
Offline
Jednak myliłem się. W [tt].bash_profile[/tt] musi być [tt]umask 007[/tt] - tak jak pisałeś - wtedy foldery mają uprawnienia [tt]770[/tt] a pliki [tt]660[/tt], czyli tak, jak chcę. Dodatkowo, żeby [tt]umask[/tt] działał na [tt]gnome[/tt], trzeba ustawić [tt]007[/tt] w [tt]/etc/profile[/tt] bo bez tego [tt]umask[/tt] w X-ach jest standardowy [tt]umask 0022[/tt].
Dla [tt]fluxboksa umask[/tt] ustawia się w [tt].xinitrc[/tt], bo wpis w [tt].bash_profile[/tt] działa tylko w konsoli. Przy takim ustawieniu, foldery/pliki tworzone lokalnie przez użytkowników mają prawa 770/660.
Powiedzmy, że temat [tt]umask[/tt] na razie mamy zamknięty.
Ostatnio edytowany przez ippo76 (2010-07-16 19:01:12)
Offline
A Małgosia ma ta samą grupy główną co Jaś, bo w przeciwnym wypadku nie uciekniesz przed SGID dla katalogu.
Offline
[quote=andreq]A Małgosia ma ta samą grupy główną co Jaś, bo w przeciwnym wypadku nie uciekniesz przed SGID dla katalogu.[/quote]
Nie, jej [tt]gid[/tt] to [tt]Małgosia[/tt]
Właśnie problem jest tego rodzaju, że [tt]Jaś[/tt] czy lokalnie czy zdalnie tworzy pliki i katalogi przynależne do [tt]Jaś Jaś[/tt], a [tt]Małgosia[/tt] do [tt]Małgosia Małgosia[/tt] - tak są listowane na serwerze. [tt]Małgosia[/tt] z konta na serwerze może kasować pliki [tt]Jasia[/tt] ale nie foldery.
Jeśli jednak wylistuję [tt]/dane[/tt] na kompie zdalnym, to pliki i katalogi [tt]Jasia[/tt] należą do [tt]Jaś ssmtp[/tt] a pliki tworzone na tym samym kompie zdalnym przez [tt]Małgosię[/tt] z jej konta należą do [tt]Małgosia Małgosia[/tt]
:)
Edyta:
Wygląda na to, że
chmod g+s /dane
załatwia sprawę.... Niezależnie, kto i gdzie tworzy plik, to przynależy on do tworzącego i do grupy [tt]users[/tt]
Ostatnio edytowany przez ippo76 (2010-07-24 13:03:12)
Offline
[quote=ippo76]Edyta:
Wygląda na to, że
chown g+s /dane
załatwia sprawę.... Niezależnie, kto i gdzie tworzy plik, to przynależy on do tworzącego i do grupy [tt]users[/tt][/quote]
No bo to jest SGID dla katalogu, wszystkie nowo tworzone pliki katalogi mają grupę tego katalogu. ;-)
Offline
Mam teraz problem w drugą stronę - montuję sobie z palca zasób [tt]windowsa[/tt] poleceniem
sudo mount -t cifs -o user="user",password="password" //windows/pliki /mnt/samba
Katalog [tt]/mnt/samba[/tt] należy do [tt]Jaś users[/tt] ale po zamontowaniu przez [tt]sudo[/tt] właściciel zmienia się na [tt]root root[/tt] a uprawnienia zmieniają się na [tt]drwxr-xr-x[/tt], czyli Jaś może sobie pooglądać ale nie może modyfikować. Po stronie [tt]windowsa[/tt] ma pełne uprawnienia, więc problem jest po stronie serwera. Próbuję dodać odpowiedni wpis do [tt]/etc/fstab[/tt] ale nic z tego....
Edyta:
Nie wiem czy to po bożemu ale działa:
sudo mount -t cifs -o rw,uid=Jaś,gid=users,user="user",password="password" //windows/pliki /mnt/samba
Ostatnio edytowany przez ippo76 (2010-07-25 13:49:09)
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00064 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.146.37.222' WHERE u.id=1 |
0.00091 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.146.37.222', 1732500234) |
0.00026 | SELECT * FROM punbb_online WHERE logged<1732499934 |
0.00080 | DELETE FROM punbb_online WHERE ident='3.15.214.185' |
0.00065 | DELETE FROM punbb_online WHERE ident='54.36.148.234' |
0.00021 | SELECT topic_id FROM punbb_posts WHERE id=151752 |
0.00027 | SELECT id FROM punbb_posts WHERE topic_id=17213 ORDER BY posted |
0.00032 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=17213 AND t.moved_to IS NULL |
0.00044 | SELECT search_for, replace_with FROM punbb_censoring |
0.00142 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=17213 ORDER BY p.id LIMIT 0,25 |
0.00075 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17213 |
Total query time: 0.00682 s |