红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > Ubuntu

ubuntu挂载的fat32后文件没有执行权限

发布时间:2010-11-13 19:15:04来源:红联作者:chengshiding
如题。比如执行一个fat32分区里的可执行文件会提示没有权限,就连root用户也执行不了
文章评论

共有 14 条评论

  1. 相思爱文 于 2010-11-14 18:39:37发表:

    [i=s] 本帖最后由 相思爱文 于 2010-11-14 18:41 编辑 [/i]

    做个实验

    cd /tmp
    dd if=/dev/zero of=ls bs=1048576 count=20
    /sbin/mkfs.vfat ls
    sudo mount -o uid=1000,loop ls /mnt
    cd /mnt
    echo #!/bin/bash >ls.sh
    echo echo ok >> ls.sh
    ls -l
    ./ls.sh

    下面是显示结果,运行成功
    hcc@debian:/mnt$ ls -l
    总计 2
    -rwxr-xr-x 1 hcc root 8 11-14 18:36 ls.sh
    hcc@debian:/mnt$ ./ls.sh
    ok
    hcc@debian:/mnt$ mount
    /dev/hda2 on / type ext3 (rw,errors=remount-ro)
    tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
    procbususb on /proc/bus/usb type usbfs (rw)
    udev on /dev type tmpfs (rw,mode=0755)
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
    devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
    fusectl on /sys/fs/fuse/connections type fusectl (rw)
    binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
    /tmp/ls on /mnt type vfat (rw,loop=/dev/loop0,uid=1000)

  2. 1234qw 于 2010-11-14 16:56:20发表:

    看看行不行(或需装wine)

  3. pl_014 于 2010-11-14 14:45:19发表:

    引用:

    不指明分区类型,有时可以自动识别。fat32(即vfat) 需加-o uid=***或-o umask=0之类命令,指明权限,不然只有root才能操作
    相思爱文 发表于 2010-11-14 08:18

    我的意思是,只需要这样的命令,就可以实现读写,mount -t ntfs-3g /dev/sda5 /mnt/sda5

  4. chengshiding 于 2010-11-14 11:21:31发表:

    持续关注中……

  5. chengshiding 于 2010-11-14 11:06:04发表:

    fstab文件有专门的格式的

  6. 相思爱文 于 2010-11-14 08:18:57发表:

    引用:
    fat32的我没有挂载过,系统中没有那个格式的分区了

    我的U盘就是这个格式,手动挂载后直接就可执行

    引用:
    我记得在linux下手动挂载的时候不需要再加额外的参数,只需要指明分区类型就行

    不指明分区类型,有时可以自动识别。fat32(即vfat) 需加-o uid=***或-o umask=0之类命令,指明权限,不然只有root才能操作

  7. 相思爱文 于 2010-11-14 08:10:22发表:

    引用:
    比如执行一个fat32分区里的可执行文件会提示没有权限

    不要比如,实际操作,把操作方法和显示结果贴出来。

  8. 相思爱文 于 2010-11-14 08:01:08发表:

    [i=s] 本帖最后由 相思爱文 于 2010-11-14 08:15 编辑 [/i]

    运行命令,把命令和终端显示的内容贴出来。不用描述,只列出输入的命令和电脑显示的相应结果。一共三条命令,贴结果

    mount
    ls -l /media/back
    ./可执行文件

    第一条就是mount,没有参数,显示挂载信息
    第二条,就是显示fat32分区中的文件权限。如果可执行文件在子目录中,就ls-l /路径/子目录。是看可执行文件权限,不是目录。
    第三条是执行可执行文件。可先cd 目录,然后./文件执行,也可/路径/文件执行

  9. pl_014 于 2010-11-14 07:00:28发表:

    引用:
    挂载的时候需要加rw 和exec参数,不好意思,我说的这个是对于ntfs分区的,fat32的我没有挂载过,系统中没有那个格式的分区了
    shenhao0129 发表于 2010-11-13 22:36


    我记得在linux下手动挂载的时候不需要再加额外的参数,只需要指明分区类型就行

  10. chengshiding 于 2010-11-13 21:24:33发表:

    就是那个 sda8分区

  11. chengshiding 于 2010-11-13 21:23:53发表:

    NTFS分区可读,可写,可执行。fat32的可读,可写,就是不能执行。
    我的/etc/fstab文件内容
    #Entry for /dev/sda9 :
    UUID=55375ede-4831-4d3c-8cb7-9f04a3177922 / ext4 errors=remount-ro 0 1
    #Entry for /dev/sda1 :
    #UUID=783C97EA3C97A1A4 /media/C_pan ntfs defaults,nls=utf8,umask=0222 0 0
    #Entry for /dev/sda5 :
    #UUID=94EC494DEC492B36 /media/applacation ntfs defaults,nls=utf8,umask=0222 0 0
    #Entry for /dev/sda8 :
    /dev/sda8 /media/back vfat user,auto,umask=002,gid=1000,utf8 0 0
    #Entry for /dev/sda3 :
    UUID=AE4866374865FE89 /media/library ntfs-3g defaults,nosuid,nodev,locale=zh_CN.utf8 0 0
    #Entry for /dev/sda6 :
    UUID=0030ED4430ED40F0 /media/linux ntfs-3g defaults,locale=zh_CN.utf8 0 0
    #Entry for /dev/sda7 :
    UUID=A68860D68860A691 /media/study ntfs-3g defaults,nosuid,nodev,locale=zh_CN.utf8 0 0

  12. 王中云 于 2010-11-13 21:18:34发表:

    从位置里点开相应分区后再执行相应权限试试

  13. pl_014 于 2010-11-13 20:45:44发表:

    好像启动时自动挂载的文件系统很容易出问题,试试使用root账户的权限重新挂载

  14. 相思爱文 于 2010-11-13 19:32:35发表:

    mount
    ls -l 相关文件

    贴结果