使用VirtualBox虚拟机时,从主服务器共享过来的文件的权限是0666,没有执行权限,这样很不方便,比如说想把oracle的安装文件解压在主服务器上时,无法通这共享主服务器上的安装文件来安装,原因是主服务器上的安装文件无执行权限。
通过下面的修改可以把共享过来的文件的默认的权限改为0777。
把附加工具mount到光盘中,/mnt/cdrom
建任意一个目录如vboxsetup
cd /vboxsetup
/mnt/cdrom/VBoxLinuxAdditions.run --tar xvf #如果是VirtualBox2.02版本文件是VBoxLinuxAdditions-x86.run。
修改解压的目录下的module/vboxvfs目录中的文件utils.c,在其中加入如下代码:
/* set [inode] attributes based on [info], uid/gid based on [sf_g] */
static void
sf_init_inode (struct sf_glob_info *sf_g, struct inode *inode,
RTFSOBJINFO *info)
{
int is_dir;
RTFSOBJATTR *attr;
int mode;
TRACE ();
attr = &info->Attr;
is_dir = RTFS_IS_DIRECTORY (attr->fMode);
#define mode_set(r) attr->fMode & (RTFS_UNIX_##r) ? (S_##r) : 0;
mode = mode_set (ISUID);
mode |= mode_set (ISGID);
mode |= mode_set (IRUSR);
mode |= mode_set (IWUSR);
mode |= mode_set (IXUSR);
mode |= mode_set (IRGRP);
mode |= mode_set (IWGRP);
mode |= mode_set (IXGRP);
mode |= mode_set (IROTH);
mode |= mode_set (IWOTH);
mode |= mode_set (IXOTH);
#undef mode_set
//add by 2008-09-30 begin
if(RTFS_DOS_MASK&attr->fMode)
{
mode |= S_IXUSR|S_IXGRP|S_IXOTH;
}
//add by 2008-09-30 end
运行install.sh vfs-module安装后,重新启动机器后,再mount主服务器上的文件都加上了执行权限。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15145533/viewspace-466218/
,如需转载,请注明出处,否则将追究法律责任。