[Samba] deleting symlinks only

Kurt Weiss input.maillists at kwnet.at
Tue Feb 4 16:41:46 GMT 2003


sorry antonio - i did not know, that u use unix clients...

i've tested it on my linux box...
following interresting situation:

1) i've created a directory "/test", there i putted in a file "data.1"
2) i've created a symbolic link "test" in a directory "/net/win/data",
which results in a samba share "netdata".

3) i mounted //localhost/netdata to /ttt

4) now i tested:
- if my actual directory was "/net/win/data", linux checked, that "test" 
was a symbolic link. => i could delete test without problems.
(e.g. rm ./test => ok)
- if my actual directory was "/ttt", linux thought that test is a 
directory!!!!!!! (as u descripted)
(e.g. rm ./test => "could not delete, test is a directory")
- *but* if my actual directory is *not* /net/win/data (e.g. /home) and i 
look to "/net/win/data/", linux *also* thinks, that test is a 
directory!!!!!!!
(e.g. rm /net/win/data/test => "could not delete, test is a directory")

result: linux *only* recognizes the symbolic link, when you stand in the 
original directory!!!!!! (no matter if the access is with samba or not)
so i think, it's a problem of the filesystem/linux/unix, and not from samba.
i don't know if it's the same on your unix system, but i think so.

so again please: excuse my "stupid answer" cause i thought, that all 
users work over windows clients. mea culpa big guru ;-) and greetings 
from tyrol to germany...


Antonio Nikolic schrieb:
> thank you, kurt
> hello list
> hello samba-team
> 
> well, maybe for most application this workaround would work. But from
> the unix-point of view replacing a symbolic link with a windows-link is
> like replacing a car with a donkey... Why should someone create a
> symlink on a sambaserver which let's say is used by windowsclients only,
> if one just could have created a windows-link even more easily. It's the
> total difference between both. With a unix-link, you don't have to
> worry whether your application is able to follow windows-links the way you
> expect it, it simply works, and you don't need to maintain additional
> shares, it's accessrights etc - ok, but this is not the point [this indeed
> could be extended to a debate on principles ;-) ]
> The point is, that sometimes you just effectively need directories and
> no links, but there is no way to copy stuff - as it is in our case:
> the samba-server is a former nfs-server and the application running on
> windows formerly used to run on IRIX and now was ported to windows using
> hummingbird (btw.: the app. now beats the expensive SGIs in speed
> immensively), which means that in fact it still is a unix-application
> which has no idea of how to treat windows-links.
> 
> So: Is there not a way, to teach samba (maybe in a future-release) to
> first check on recieving a deletion request whether or not a directory
> possibly is a link and delete the link only? One could introduce an
> per-share-option which allows to switch on this feature. I doubt this
> could be that hard to realize, is it?
> 
> greetings
> Antonio Nikolic
> 
> ________________________________________________________________________
> Kurt, Tuesday, February 04, 2003, 1:40:09 PM:
> 
>>>==============================================
>>
> 
>>Antonio Nikolic wrote:
>>
>>>hello list,
>>>
>>>is it possible to delete a symlinked directory over a samba-share, without deleting
>>>it's content but leaving the link-target as it is and deleting the
>>>symlink only? If I interpret samba's behaviour correctly, on deletion samba does not
>>>recognize the link as a link but as a directory, descends into it and deletes the
>>
> 
>>the problem is, that the client does not recognize, that this is only a 
>>link:
>>the files in there will be deleted *first*. then it deletes the link...
>>but u can try a workaround (e.g.):
>>u have a directory "all" and a share "home". u want to point from all 
>>homes to "all":
> 
> 
>>create a share "all" in samba. - then create a link in *windows* to 
>>\\<server>\all
>>this link u copy to all "home" shares. - the client can change to "all", 
>>  but if he deletes the link - nothing will happen...
>>disadvantage: he only comes back with the "back" button in his browser, 
>>not with the "up" button.
> 
> 
>>i hope it helped
>>gk
> 
> 
>>>content recursively, finally tries to delete the directory which is none
>>>and stops. So all what is left in the end, is an empty directory and a
>>>link pointing to it...
>>>
>>>Setting the userpermissions is no solution for us as users have
>>>to have full access to the content. We are using samba 2.2.7a on IRIX.
>>>
>>>The symlinked directories are used as libraries, which are being linked
>>>to from different project-directories. If a project is finished, the
>>>link to the libraries must be deleted by the users.
>>>
>>>any hint would be helpful,
>>>thx
>>>
>>>Antonio Nikolic
>>>
>>>________________________________________________________________________
>>>
>>>eMail:     antonio.nikolic at ibk-consult-gmbh.de
>>>           info at ibk-consult-gmbh.de
>>>
>>>Internet:  http://www.ibk-consult.com
>>>
>>>IBK Ingenieurconsult für Maschinenbau GmbH
>>>Kornstr. 17-21
>>>30167 Hannover
>>>
>>
> 
> 
> 
>>>==============================================
>>
> 




More information about the samba mailing list