Belépés
Samba megosztáson mindenki csak a saját tartalmát törölheti, rekurzív jogok
2019. október 8. – 20.55 – vhnns
A következőben kérném a segítséget.
Adott egy Samba megosztás. A megosztáshoz két felhasználó fér hozzá, user1 és user2. Azt kéne megoldanom, hogy mind a két user lássa egymás fájljait, de törölni mindenki csak a sajátját tudja.
Azt már megtaláltam, hogy erre való a Sticky bit és az első szinten sikerült is beállítani, de a feladat további rész az, hogy ez recursive működjön. Tehát User1 mappájába tudjon létrehozni User2 is fájlt vagy mappát, de azt is csak ő tudja törölni, az User1 ne.
Állítólag ezt a korábbi Samba verziók Samba.conf fájljában lehetett konfigurálni, de az ujabb verziókban nem öröklődik le a beállítás. Hogyan lehet ez megoldani az újabb Samba verzióban?
- A hozzászóláshoz regisztráció és belépés szükséges
Azt nem értem, ha mindenki írhat akárhova, akkor mi alapján dől el (és minek!) hogy melyik mappa kié.
gyakorlat teszi
Setuid,
setgid,
sticky-‐bit
nincs
Újra kérdezem...
Mi értelme "valakinek" a tulajdonába adni egy könyvtárt, ha bárki más is odapiszkíthat?
gyakorlat teszi
Az nem megoldás, hogy mindkét felhasználó kap olvasási jogot a másik mappájára is, de írásit csak a sajátjára?
Adatot így is tudnak cserélni. Ha volna kedved a környezetről mesélni egy kicsit, lehet, hogy előkerülne egy jó ötlet a megoldásra.
Szóval, miért és mire kellene ez a cifra megoldás? Miért Samba?
Adj egy falat falat, mondta a falat faló faló.
Nem. A feladat nem az hogy ne lehessen írni a fájlt vagy mappát, hanem az hogy ne lehessen törölni. Tehát csak törlési joga ne legyen a másik felhasználónak. (sticky-‐bit)
nincs
Hagyd a sticky bitet!
create mask = 0755
directory mask = 0755
Nem jó, mert nem ez a feladat. A feladat nem az hogy ne lehessen írni a fájlt vagy mappát, hanem az hogy ne lehessen törölni. Tehát csak törlési joga ne legyen a másik felhasználónak. (sticky-‐bit)
nincs
Ha ragaszkodsz a sticky bit-hez, valahogy így oldanám meg a problémát. Ez csak egy példa.
Értelemszerűen írd át az útvonalakat, jogokat és ami szükséges!
groupadd sambasticky
usermod -a -G sambasticky vhnns
mkdir /srv/sambasticky
chown root:sambasticky /srv/sambasticky
chmod 0770 /srv/sambasticky
chmod g+s /srv/sambasticky
chmod +t /srv/sambasticky
setfacl -d -m g:sambasticky:rwx /srv/sambasticky
setfacl -m g:sambasticky:rwx /srv/sambasticky
apt-get install inotify-tools
nano /usr/local/sbin/set_sticky.sh
Tedd ezt bele:
#!/usr/bin/env bash
inotifywait -m -r -e create /srv/sambasticky |
while read path event file; do
case "$event" in
*ISDIR*)
chmod +t $path$file
;;
esac
done
chmod 0700 /usr/local/sbin/set_sticky.sh
nano /etc/rc.local
Tedd ezt bele:
/usr/local/sbin/set_sticky.sh &
Plug & Pray
Ebbe még elmélyedek, de nem a legegyszerűbb megoldásnak tűnik. :)
Vizsgafeladatnak kaptam és ilyen szinten nem beszéltünk erről. Ha működik is, nem biztos hogy el fogom tudni magyarázni mi, mit csinál. :) azért köszi.
nincs
Active Directory ami ezt megengedné. A Samba magában nem. Ha tudsz fájlt létrehozni, akkor tudod azt törölni is. Hacsak nem figyel ott egy ilyen process, ami azonnal read-only-vá teszi az általad létrehozott fájlt a másik user mappájában. De hány helyről akarod elérni ezt a megosztást?
LinuxMint | UbuntuStudio
Valami ilyesmi kell?
https://superuser.com/questions/1302044/permissions-to-create-files-and-...