bug in permissions on symlinks
cs at zip.com.au
Fri Dec 7 11:33:41 EST 2001
On Thu, Dec 06, 2001 at 09:06:10AM -0600, Dave Dykstra <dwd at bell-labs.com> wrote:
| On Fri, Dec 07, 2001 at 12:58:31AM +1100, Cameron Simpson wrote:
| > Not so. The sunos4 boxen don't have lchown()
| You're right. However, the chown man page says it doesn't follow symlinks:
| If the final component of path is a symbolic link, the own-
| ership and group of the symbolic link is changed, not the
| ownership and group of the file or directory to which it
| > Another counter example - Apollo symlinks were special directory entries,
| > not objects with inodes, and chowning them was meaningless. SInce the
| > target permissions were always enough anyway (permissions on a symlinks
| > can be trivially bypassed by opening the full path, and symlinks are
| > not writable themself - only creatable), so inodeless implementations
| > are both feasible and sensible.
| Does anybody run rsync on Apollo?
Hell, they run it on Windoze :-( I know what I'd rather use.
Still, that's not the point - the point is that it's dangerous.
| > Please - if there's no lchown DO NOT chown symlinks. It is silently
| > destructive.
| I say let's don't bother to change it unless somebody reports a problem.
Please don't take this path - ownerships on symlinks are a pretty
meaningless concept and they day you run into a system like SysV but which
doesn't have (or hides) its lchown rsync _will_ start damaging things
nastily the day someone copies a tree with symlinks off into other places.
It's like a timebomb.
Imagine some simple auth system using the system password file, secure
in the knowledge it's running unpriviledged and thus safe to symlink
/etc/passwd into the config dir? Then updating their distro with
rsync-as-root from some master server.
Why _not_ take the conservation approach "unless somebody reports a
Cameron Simpson, DoD#743 cs at zip.com.au http://www.zip.com.au/~cs/
... It beeped and said "Countdown initiated." Is that bad?
More information about the rsync