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
Jak poprawnie/bezpiecznie umożliwić zwykłemu userowi montowanie za pomoca mount/umount?
Małe wyjaśnienie:
montowany ma być plik-kontener znajdujący się w /home danego usera.
(z tego względu odpada pmount - wymaga on [jak sam twierdzi] urządzenia w /dev)
Offline
to ma być montowane przy logowaniu usera czy "na życzenie"?
Offline
na życzenie, bez wpisu do fstab
Offline
Obawiam się że bez rzeźbienia w fstabie nie będzie prosto.
Można porzeźbić skrypciora (taki pseudo wraper na mount) ale to trochę zabawy niestety.
Inne rozwiązanie które przychodzi mi do głowy (najmniej bezpieczne) to suid na /usr/bin/mount, ale to zostawia w systemie dziure wielkości jowisza ;)
Chyba że ktoś jeszcze ma jakieś pomysly bo fuseiso i sshfs nie banglają (pierwszy musi mieć plik iso do zamontowania, drugi potrafi montować tylko katalogi).
Offline
@winnetou o
chmod +s /bin/mount
pomyślałem, ale to nie jest rozsadne rozwiązanie,
@mati udevil nie mountuje, zwraca błąd:
EXT4-fs (loop0): Unrecognized mount option "uid=1000" or missing value
Offline
no to skrobaj "wrapera" na mount. Wraper będzie sobie śmigał z suidem, ale w "środku" bedzie sprawdzał uid/gid pliku źródłowego i katalogu docelowego, jak się będzie zgadzało z uidem/gidem usera to zamontuje, jak nie to wywali byka ;]
Offline
Nie wrapera z suid, tylko sudo.
Jak pacjent coś musi robić jako root, to do takich zabaw jest /etc/sudoers.
Przez sudo można odpalać dowolnego skrypta z uprawnieniami roota, i bez nadmiernego ryzyka związanego z tworzeniem i używaniem binarek SUID/root.
Z drugiej strony, każdy skrypcio odpalony przez sudo ma do dyspozycji zmienne, np:
$SUDO_USER=pacjent $SUDO_UID=1003 $SUDO_GID=1003
Każdy z resztą może sam zobaczyć:
sudo env | grep SUDO
Ostatnio edytowany przez Jacekalex (2014-06-04 08:16:25)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00006 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00060 | 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.144.30.62' WHERE u.id=1 |
0.00070 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.30.62', 1728263864) |
0.00048 | SELECT * FROM punbb_online WHERE logged<1728263564 |
0.00040 | SELECT topic_id FROM punbb_posts WHERE id=269035 |
0.00014 | SELECT id FROM punbb_posts WHERE topic_id=25929 ORDER BY posted |
0.00090 | 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=25929 AND t.moved_to IS NULL |
0.00010 | SELECT search_for, replace_with FROM punbb_censoring |
0.00118 | 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=25929 ORDER BY p.id LIMIT 0,25 |
0.00110 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25929 |
Total query time: 0.00569 s |