My point is that whether a translator is started by the filesystem or by
settrans, the behavior should be basically the same.
> > o Current working directory
> > - settrans: user's current working directory
> > - libfshelp: the directory in which we find the
> > translator.
> In the case of settrans it is logical to set the cwd of the translator
> to the user's current cwd like for any other program the user runs. And
> as for the second case, there's not much chioce but to start the
> translator in the directory of the node. And it also makes sense,
> think relative symlinks.
I do not see how this makes sense. I see how it is logical, however, it
is misleading. Consider the following:
# settrans -cap ~/foo /hurd/isofs cdimage
The active translator will start, however, once it is stopped, the
filesystem will to be able to restart it. In this scenario, guessing
from the `-ap', the user likely wants to make sure that the translator
is setup and correctly and then wants to forget about it.
> > o User ids
> > - settrans: The euid and egid of the user that lauched
> > settrans.
> > - libfshelp: The uid and gid of the node.
> The user might not always (unlike root) have the ability change
> the euid and egid of a process to those of an arbitrary node.
> So the translator has to be started with the priviliges of the
> user.
Not true; make settrans suid root.
> And if a passive translator is started up with the
> priveleges of the user that wakes it up it, it would be impossible
> to implement some things that translators do already. For example
> a filesystem translator has to run with the priveleges of the
> underlying node, otherwise it would be unable to write any data
> to store-nodes which have root-only write permissions.
I am not suggesting this at all. This is what I am trying to
communicate:
# cd
# sudo settrans -acp foo /hurd/ext2fs /dev/hd0s2
ext2fs is launched as root.root. However, the passive translator will
run as root.neal (as my home directory is neal.neal). Now, because the
Hurd has group leaders, I will be considered an owner of the translator.
The active translator should be started with the same ids that the
passive translator will be started with.
PGP signature