• 最经装了openSUSE 10.3。界面是我最爱的绿色,也自动帮我挂载了WINDOWS的分区到/windows/C等目录下,还按分区顺序命名为C、D、E、F。

    可是,问题出现了……自动挂载的这些分区都是默认为只有ROOT才能修改的全限,普通的用户users根本就只能看。这么不和谐的行为自然要帮它改正了……

    实验一:以管理员权限强制修改之。于是我就在执行:

        #sudo chmod 775 /windows -R

    sudo 命令是用来提升命令执行的权限的。结果……失败了

    分析一下,想起这些个分区都是NTFS的,它们100多G的内容不会是linux提前设置的吧?!那要多少时间阿~~

     又想到,通常linux下的分区都是通过/etc/fstab这个文件的内容来自动挂载的,肯定是这个文件搞的鬼吧?于是四处发帖求救,也证实了这一点。

    那么~~~上课回来后,立刻实行 实验二 —— 修改/etc/fstab!!

    看到原本的fstab里的内容为;

    ——————————————————————————————————————————————————————————————————
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part9 /                    ext3       acl,user_xattr        1 1
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part10 /home                ext3       acl,user_xattr        1 2
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part5 /windows/D           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part6 /windows/E           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part7 /windows/F           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part8 swap                 swap       defaults              0 0
    proc                 /proc                proc       defaults              0 0
    sysfs                /sys                 sysfs      noauto                0 0
    debugfs              /sys/kernel/debug    debugfs    noauto                0 0
    usbfs                /proc/bus/usb        usbfs      noauto                0 0
    devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
    ——————————————————————————————————————————————————————————————————


    把挂载的参数(users,gid=users,fmask=133,dmask=022,locale=zh_CN.UTF-8)直接改为defaults可不可行呢?我不敢这样试。因为以前使用UBUNTU的时候,就是用一个defaults,弄得挂进来的NTFS分区不能显示中文,那个郁闷阿~~~现在的SUSE已经能显示中文了,咱们就不能一道切了……

    搜索Google Groups搜出了fstab里是如何决定权限的——关键在于

            users,gid=users,fmask=133,dmask=022

    这一串。

    其中       gid=users :决定分区的所属组

               fmask=133 :决定分区里的文件(File)的权限

               dmask=022 :决定分区里的目录(Directory)的权限

    另外,dmask,fmask值是按照这样的公式计算的;

            实际文件权限 = 777 - fmask
             实际目录权限 = 777 - dmask
    于是,我就把fstab的内容改为:
    ——————————————————————————————————————————————————————————————————
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part9 /                    ext3       acl,user_xattr        1 1
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part10 /home                ext3       acl,user_xattr        1 2
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part1 /windows/C           ntfs-3g    users,gid=users,fmask=003,dmask=002,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part5 /windows/D           ntfs-3g    users,gid=users,fmask=003,dmask=002,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part6 /windows/E           ntfs-3g    users,gid=users,fmask=003,dmask=002,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part7 /windows/F           ntfs-3g    users,gid=users,fmask=003,dmask=002,locale=zh_CN.UTF-8 0 0
    /dev/disk/by-id/scsi-SATA_ST3160815AS_6RA110JS-part8 swap                 swap       defaults              0 0
    proc                 /proc                proc       defaults              0 0
    sysfs                /sys                 sysfs      noauto                0 0
    debugfs              /sys/kernel/debug    debugfs    noauto                0 0
    usbfs                /proc/bus/usb        usbfs      noauto                0 0
    devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
    ——————————————————————————————————————————————————————————————————

    重启,发现成功了!YEAH!赞扬自己一下……