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/.
Strony: 1
Mam serwer udostępniający zasoby przez Sambę.
Generalnie wszystko działa poprawnie, użytkownicy mogą się dostać do swoich zasobów poprzez sieć.
Moim zadaniem jest utworzenie katalogu pub/ który będzie dostępny dla wszystkich i wszyscy będą mieli do niego pełne prawa dostępu.
Utworzyłem użytkownika pub z katalogiem pub, nadałem temu katalogowi chmod 777 i utworzyłem każdemu użytkownikowi systemu w jego katalogu domowym symlink do pub/ i rzeczywiście, każdy może sobie tam wejść i coś zapisać.
Problem polega na tym, że jeżeli użytkownik A utworzy tam plik to użytkownik B nie będzie mógł tego pliku usunąć czy skopiować bo tworzone pliki otrzymują prawa -rwx------
Jak więc mogę sprawić, żeby wszystko co tworzone w obrębie pub/ otrzymywało prawa 777?
Druga sprawa - nie jestem pewien czy ustawienie 777 na pub/ to jest dobry pomysł, może powinienem zrobić to jakoś inaczej?
Mój smb.conf:
[global] workgroup = mygroup netbios name = myserver server string = My Server hosts allow = (...) hosts deny = 0.0.0.0/0 dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d preferred master = auto local master = yes printcap name = /etc/printcap load printers = no printing = bsd ####### Authentication ####### security = user encrypt passwords = true invalid users = root unix password sync = yes pam password change = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . socket options = TCP_NODELAY domain master = auto unix extensions = no #======================= Share Definitions ======================= [homes] comment = Home Directories browseable = no writable = yes hide dot files = yes veto files = /.*/ follow symlinks = yes wide links = yes create mask = 0700 directory mask = 0700 read only = no [pub] comment = Public Directory browseable = no read only = no writeable = yes hide dot files = yes follow symlinks = yes path = /home/pub create mask = 0777 directory mask = 0777
Offline
Zauważ, że w smb.conf, który wkleiłem jest sekcja:
[pub] comment = Public Directory browseable = no read only = no writeable = yes hide dot files = yes follow symlinks = yes path = /home/pub create mask = 0777 directory mask = 0777
No i efekt jest taki jak opisałem czyli nowo tworzone pliki i katalogi nie mają praw 777.
Offline
A, rozumiem.
Ale próbowałem tych parametrów i nie wpłynęły na działanie.
Jest jeszcze kwestia umask i z tym też eksperymentowałem, ale nie jest dla mnie jasne jak to powinienem zrobić prawidłowo.
Moje eksperymenty z umask wyglądały tak, że wywoływałem polecenie umask w pub/ i otrzymywałem wynik 0022, następnie wywoływałem umask 0000 oraz umask 000 i to niczego nie zmieniało. Podobnie umask 0777 niczego nie zmieniało - nadal mogłem jako użytkownik ze zdalnego komputera stworzyć pliki w pub/ a chyba jednak nie powinienem móc.
Nie bardzo rozumiem dlaczego nic nie przynosi efektów.
Offline
nie ma bata musi działać :)
dodaj:
create mode = 0660 directory mode = 0770 force create mode = 0660 force directory mode = 0770
ewentualnie:
1. dodaj wszystkich urzytkowników do grupy pub (gpassw user1 pub) itd.
2. chown pub:pub /home/pub (tak na wszelki wypadek bo nie wiem co tam mozesz miec :) )
3. chmod g+s /home/pub (poczytaj sgid)
4. dodaj do samby to co podalem wyżej i dodatkowo: force group = pub
ja mam coś podobnego i tutaj masz kawałek mojeg smb.conf
[z1] comment = Z1 na E52 path = /home/samba/z1 browsable=yes public=yes writable=yes create mode = 0660 directory mode = 0770 force create mode = 0660 force directory mode = 0770 force group = uzytkownicy_domeny follow symlinks = yes valid users = @uzytkownicy_domeny write list = @uzytkownicy_domeny #vfs objects = recycle recycle:repository = .KOSZ recycle:keeptree = True recycle:versions = True recycle:touch = True recycle:exclude = *.tmp|*.tmp|*.TMP|*.o|*.obj|~$*|*.ba0 $ recycle:exclude_dir = /tmp|/temp|/cache # Audit settings vfs objects = full_audit recycle full_audit:prefix = %u|%I|%S|%m| full_audit:failure = connect full_audit:success = connect disconnect mkdir rmdir read write sendfile rename unlink chmod fchmod chown fchown ftruncate lock symlink readlink link$ full_audit:facility = local5 full_audit:priority = notice
samba 4.0.5 przy starszych wersjach 3.8 nazwy grup muszą być podane w cudzusłowiu " "
Żona ogląda jakiś badziewiasty serial i tv zajęty wiec trochę się rozpisałem
Pozdrawiam
:)
Offline
Udało mi się. Wielkie dzięki!
Offline
Witam miałem podobny problem jednak rozwiązałem go w ten sam sposób.
Teraz mam pytanie.
Mam udział "test" i użytkowników w grupie1 i każdy może tworzyć i usuwać pliki i to jest ok.
A czy jest możliwość dla użytkownika który jest w grupie1 ustawić aby jeden folder był tylko do odczytu??
Ewentualnie czy dla użytkownika można w danym udziale "test" ustawić brak dostępu do katalogu np. dokumenty
jak to zrobić??
Offline
[quote=robzio]Witam miałem podobny problem jednak rozwiązałem go w ten sam sposób.
Teraz mam pytanie.
Mam udział "test" i użytkowników w grupie1 i każdy może tworzyć i usuwać pliki i to jest ok.
A czy jest możliwość dla użytkownika który jest w grupie1 ustawić aby jeden folder był tylko do odczytu??
Ewentualnie czy dla użytkownika można w danym udziale "test" ustawić brak dostępu do katalogu np. dokumenty
jak to zrobić??[/quote]
Najlatwiej to zrobic dwiema grupami. Grupa1 ma pelny dostep do folderu "test", czyli 077x. Dostep Grupy2 zalezy od wartosci x: dla 5 moga otworzyc katalog i odczytac zawartosc, dla 0 nie moga wejsc do katalogu.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00109 | 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='18.222.182.249' WHERE u.id=1 |
0.00067 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.222.182.249', 1732703562) |
0.00046 | SELECT * FROM punbb_online WHERE logged<1732703262 |
0.00074 | DELETE FROM punbb_online WHERE ident='3.146.206.246' |
0.00074 | SELECT topic_id FROM punbb_posts WHERE id=239753 |
0.00183 | SELECT id FROM punbb_posts WHERE topic_id=24165 ORDER BY posted |
0.00062 | 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=24165 AND t.moved_to IS NULL |
0.00010 | SELECT search_for, replace_with FROM punbb_censoring |
0.00080 | 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=24165 ORDER BY p.id LIMIT 0,25 |
0.00087 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24165 |
Total query time: 0.00806 s |