Szervusztok!
A következő probléma áll fent nálam:
Adott 3 merevlemez:
/ - Samsung 160GB IDE
/media/Userfiles - Samsung 200GB SATA
/media/Bittorrent - WD 500GB SATA2
A két /media-ba felcsatolt merevlemez ext4 fájlrendszerű, az Userfiles-on vannak a zenék, képek stb, amiket belinkelek magamnak a /home -ba, így rendszerfüggetlenül vannak eltárolva. Ez tök kényelmes, hiszen single-user rendszerem van, csak én használom. A Bittorrent meg magáért beszél.
A probléma az, hogy ha van egy alkalmazásom (linuxos), akkor azt nem tudom egyik merevlemezről sem futtatni, csak ha áthelyezem a /-re. Ez elég kényelmetlen.
Nézelődtem a Yast lemezpartícionálójában és néztem, hogy az fstab opcióknál be volt ikszelve az Access Control Lists - azt hittem ettől volt, de kikapcsoltam őket és még mindig "Permission Denied", ha ezeken akarok futtatni valamit. A kikapcsolás után volt reboot.
Még ha valami biztonsági funkció is ez, aligha van rá szükségem, hiszen csak én használom a gépet - szeretném kikapcsolni.
Vannak tippek?
- 5207 megtekintés
Hozzászólások
milyen alkalmazas ez? mit jelent, hogy nem müködik?
- A hozzászóláshoz be kell jelentkezni
Tök mindegy, hogy mi: ha bármilyen futtatható programot akarok ezeken a lemezeken futtatni, terminálból a "Permission Denied" választ kapom. Ha dolphinból futtatom, szegény KDE nem tud mit kezdeni vele és telepíteni akar hozzá valami alkalmazást (=mintha ismeretlen fájltípus lenne)
Rendes, linuxos, futtatható ELF fájlokra gondolok, de shell scriptek (*.sh) sem futnak.
A probléma nem áll fent, ha a / -ről futtatom. Olyan programokra kell gondolni, amiknek az összes fájlja egy könyvtárban van. (pl a mozilla.com -ról letölthető firefox is ilyen lenne, de nem arról van szó)
http://sadpanda.us/images/1777586-AZW34UH.png
Szerk:
Természetesen a +x jelző rajta van az adott fájlokon.
openSUSE 12.3 64-bit w/ KDE
- A hozzászóláshoz be kell jelentkezni
Két tipp, máshol már "elsütöttem", de most sincs jobb:
1. mount parancs (paraméter nélkül) kimenetét megnézni, nincs-e "noexec" a fájlrendszered opciói között.
2. SELinux vagy egyéb hasonló eszköz nem korlátoz-e ilyesmiben. (tegnap tanultam meg, hogy bizonyos esetekben még a home könyvtáradban sem tudsz futtatni semmit, ha a SELinux enforce módban van - és úgy emlékszem, a SuSE alapból felrakja, csak nem tudom, milyen üzemmóddal)
upd: addig javítgattam, hogy megelőztek :)
- A hozzászóláshoz be kell jelentkezni
Lehet hogy hülyeséget kérdezek, de nem noexec kapcsolóval van mountolva?
- A hozzászóláshoz be kell jelentkezni
fstab exec opció?
- A hozzászóláshoz be kell jelentkezni
Én is ezt mondanám, próbáltad már exec option-nal mountolni az adott merevlemezt fstabbal és megnézni hogy akkor engedi-e a futtatást?
- A hozzászóláshoz be kell jelentkezni
zsigmond@opensuse:~> cat /etc/fstab
/dev/disk/by-id/ata-SAMSUNG_SP1654N_S0GEJ1DP203305-part1 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-SAMSUNG_SP1654N_S0GEJ1DP203305-part2 swap swap defaults 0 0
/dev/disk/by-id/ata-WDC_WD5000AAKS-00A7B0_WD-WMASY6218466-part1 /media/Bittorrent ext4 user,noacl 1 2
/dev/disk/by-id/ata-SAMSUNG_HD200HJ_S16KJ90Q701253-part1 /media/Userdata ext4 user,noacl 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
Ez mond valamit?
Szerk:
Rootként lecsatoltam az egyik lemezt és vissza, direkt --verbose -al, de meg se szólalt. Csak szép csendben felcsatolta.
mount -v /dev/sdb1 /media/Userdata
openSUSE 12.3 64-bit w/ KDE
- A hozzászóláshoz be kell jelentkezni
Magához a könyvtárhoz úgy egyébként van jogod hozzáférni, csak a futtatás nem megy?
(a géped előtt ülve egyszerűbb lenne - ezek a jogosultsági problémák elég sok forrásból jöhetnek ;) )
Mivel most épp a SELinux a mániám és tudtommal a SuSE alapból hozza, nézd már meg root-ként, hogy a getenforce mit mond?
(ha nem talál ilyen parancsot, akkor nincs SELinux. Ha 1-et, akkor lehet, hogy az csinálja, ha 0-t, még akkor is van minimális esély rá, hogy a /var/log/audit alatt találsz valami hasznosítható infót)
- A hozzászóláshoz be kell jelentkezni
Van jogosultságom hozzáférni természetesen. :) Oda tölt a Ktorrent, ami ebben a szent pillanatban is fut. Meg a másikon van az összes userfájlom.
A getenforce parancs nem található.
A jogosultság pl a Bittorrent merevlemezem gyökerében 777-re van állítva. (mindenki írhat és olvashat rajta)
Szerk.:
A /var/log/audit üres.
openSUSE 12.3 64-bit w/ KDE
- A hozzászóláshoz be kell jelentkezni
Sajnos most nem fér az időmbe, hogy felhúzzak egy SuSE-t (tegnap elkezdtem, de felfüggesztettem a host működését, ettől kiakadt a virtualboxban futó telepítő, mert megszakadt az internetes kapcsolata)
Délután megpróbálok összerakni egyet, ha addig nem boldogulsz és megnézem, milyen egy default suse belülről, hátha lesz több ötletem.
uff: jut eszembe... Mikor állítottad 0777-re a jogosultságot? Mount előtt vagy után? (777, nem 0777? - nem mindegy, amennyire tudom!)
Nézd meg egyesével az összes könyvtárakat, beleértve a mountpointot is (ls -ld könyvtárnév), amik a végrehajtandó programod fölött vannak, hogy valóban megvan-e rajta minden szükséges jogod!
- A hozzászóláshoz be kell jelentkezni
Nem látom benne hogy exec opciót megkapná.
/dev/disk/by-id/ata-SAMSUNG_HD200HJ_S16KJ90Q701253-part1 /media/Userdata ext4 user,noacl,exec 1 2
így próbáld ki
===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
Az exec ismereteim szerint default, csak akkor kell megadni, ha az fstab-ban megadottól akarsz eltérni vele.
De javíts ki, ha tévedek!
- A hozzászóláshoz be kell jelentkezni
Nem dafault, csak a "defaults" opció része.
defaults
Use default options: rw, suid, dev, exec, auto, nouser, and async.
===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
Magyarán, ha opció nélkül mountolsz és az fstab nem rendelkezik másképp, akkor érvényes az exec, tehát ez a default, nem a noexec.
Más kérdés, hogy sikerült megint átlépnem pár sort a man-ban:
user Allow an ordinary user to mount the file system. The
name of the mounting user is written to mtab so that he
can unmount the file system again. This option implies
the options noexec, nosuid, and nodev (unless overridden
by subsequent options, as in the option line
user,exec,dev,suid).
Szóval a user opció miatt nem működött az exec, ahogy eredetileg csak feltételeztem, de végül nem találtam rá a doksiban valamiért. (tényleg időszerű lenne elmenni a szemészhez :( )
- A hozzászóláshoz be kell jelentkezni
Ez megoldotta!
Csak a Yast partíciókezelőben ragasztottam rá a címkét, mint "Arbitary value", vagy valami olyasmi.
Ez egyúttal a kérdést is megválaszolja:
openSUSE alatt nem futtathatsz fájlokat másik merevlemezről, ha csak nincs exec címke rajta. :)
Köszönöm szépen a válaszokat mindenkinek!
openSUSE 12.3 64-bit w/ KDE
- A hozzászóláshoz be kell jelentkezni
Na ebből megint tanultam valami újat.
Bár én a "user" opcióra gyanakodtam, hogy az helyből tiltja az exec-t, de nem találtam rá utalást a man mountban...
- A hozzászóláshoz be kell jelentkezni
Semelyik más linuxon sem sikerülne nélküle.
===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
De csak azért, mert ott a "user" opció.
Anélkül viszont csak a root tudná mountolni.
- A hozzászóláshoz be kell jelentkezni
Tehát a megoldás az exec és user együttes használata. :)
openSUSE 12.3 64-bit w/ KDE
- A hozzászóláshoz be kell jelentkezni
Igen. Csak nálam a user - bár a múltból még halványan derengett valami - kellőképp kiesett, a man olvasása közben meg egyszerűen átsiklottam pont azon a két soron, amit kerestem. :(
- A hozzászóláshoz be kell jelentkezni