-
Wykorzystanie setuid-a w Sambie
Ostatnio spotkałem się z sytuację, gdy do podmontowanego zasobu Windows (przy użyciu Samby) musiał mieć możliwość zapisu zwykły użytkownik. Początkowo nie wiedziałem jak to zrobić, przecież nie zmienię uprawnień dla plików pod linuxem, tak jakbym to robił na normalnym systemie plików. Tu z pomocą przyszedł „setuid” [Set User ID (identity)/ Ustaw Identyfikator Użytkownika], czyli specjalny atrybut pliku lub katalogu dostępny w systemach UNIX. Dzięki nadaniu takowego atrybutu plikowi wykonywalnemu, wszystkie procesy potomne mają zmienione uprawnienia, tzn. działają z prawami innego użytkownika. W przypadku wspomnianej Samby, mamy możliwość zmiany właściciela podmontowanego pliku/katalogu. Przykładowo chcemy podmontować zasób o nazwie „testy” znajdujący się na komputerze o adresie IP 192.168.1.2. Edytujemy plik „/etc/fstab”. Dopisujemy poniższą linijkę:
gdzie „uid1” to uid użytkownika, którego uprawnienia przejmujemy, „name” to nazwa użytkownika Windows udostępniającego zasób, a „passwd” to hasło do niego. Nie zapomnijmy o utworzeniu docelowego punktu montowania.mkdir /mnt/testy
Nadszedł czas podmontowania.
mount -a
Użytkownik, którego uid-a podaliśmy w pliku „/etc/fstab” powinien mieć prawa do zapisu w „/192.168.1.2/testy”.
Witam, dzięki za artykuł, rozumiem że zasób udostępnia np. komputer z Windowsem, my go tylko montujemy na systemie z Linuxem ( z prawem zapisu oraz odpowiednim uidem ). Pozdrawiam.
Dokładnie tak 🙂