On Thu, Apr 15, 2010 at 07:18:15PM +0800, Yufang Zhang wrote:
Hi all, Currently, umask takes effect when we create device file via mknod, as bellow commands show:
<fs> mknod-b 0760 8 1 /dev/sdf <fs> ll /dev/sdf brwxr----- 1 root root 8, 1 Apr 15 11:10 /sysroot/dev/sdf
But I wonder whether it is reasonable? For mknod(1), when we use option -m mode, we set file permission bits to MODE, not a=rw - umask. Should this also be applicable to mknod in guestfish, thus when we create device file with mode set, umask doesn't take effect?
I think it's reasonable for us to use the umask, but probably it should be better documented. In the daemon we use the mknod(2) system call which is documented to be affected by umask: The permissions are modified by the process’s umask in the usual way: the permissions of the created node are (mode & ~umask). But the behaviour is a little bit different from the mknod(1) program. We could add a mknod-mode command (see also mkdir-mode). If you think this is worth it, then please file a bug or send a patch. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://et.redhat.com/~rjones/libguestfs/ See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html