NTFSデータパーティションの実行権限

NTFSデータパーティションの実行権限

シェルで私のデータパーティションにあるいくつかのスクリプトを実行しようとしていますが、権限の問題があります。

bash: /media/storage/ss/script.py: Permission denied

実行する前にスクリプトの実行権限を付与しました。

chmod +x script.py

問題は、私のfstabファイルの設定に関連している可能性があります。 /etc/fstab設定を編集してみました。現在、彼らは次のとおりです。

UUID=F6C09DB5C09D7C95 /media/storage/    ntfs-3g uid=1000,gid=1000,umask=0022,auto,rw 0 0

ただし、次の実行時に更新されたuidとgidは表示されません。

編集する:

~$ stat /media/storage

出力:

  File: /media/storage/
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 804h/2052d  Inode: 5           Links: 1
Access: (0777/drwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)

それでは、ntfsデータパーティションのスクリプトに対する実行権限を持つように/ etc / fstabファイルをどのように変更しますか?

- 編集する -

~$ stat /media/storage/ss/script.py

出力:

  File: /media/storage/ss/script.py
  Size: 525         Blocks: 2          IO Block: 4096   regular file
Device: 804h/2052d  Inode: 10208       Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-03-13 13:17:31.980325600 +0000
Modify: 2019-03-13 13:14:11.690160100 +0000
Change: 2019-03-13 13:14:11.690160100 +0000
 Birth: -

私が実行したとき:

~$ head -n 1 /media/storage/ss/script.py

出力:

 #! /usr/bin/env python

私が実行したとき:

mount | grep /media/storage

出力:

/dev/sda4 on /media/storage type fuseblk (rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,allow_other,blksize=4096,user)

ありがとうございます!

答え1

/media/storageとしてインストールしましたnoexecnoexecマウントされたファイルシステムではバイナリ実行は許可されません(参考資料を参照man 8 mount)。

あなたexecはにいる必要がありますfstabfstab項目にも対応するdefaultsオプションがありません(参照man 5 fstab)。あなたは次のようなものが欲しいかもしれません

UUID=F6C09DB5C09D7C95 /media/storage/    ntfs-3g defaults,uid=1000,gid=1000,umask=0022 0 0

man 5 fstabまたはのman 8 mount意味を確認してくださいdefaults。少なくとも私のシステムでは同じです

rw,suid,dev,exec,auto,nouser,async

ただし、これはファイルシステムによって異なります。

変更せずにこれを確認したい場合はお試しくださいfstab

mount -o remount,exec /media/storage/ 

まず、/media/storage/実行権限で再インストールしてスクリプトを再確認してください。

答え2

再起動すると、編集された/etc/fstab設定に従ってデータパーティションがマウントされると想定されます。しかし、これは本当ではないようです。

実行後:

sudo mount -a

問題が解決しました。これで、シェルからデータパーティションのスクリプトを実行できるようになりました。

stat /media/storageの結果は次のようになります。

  File: /media/storage
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 804h/2052d  Inode: 5           Links: 1
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  floris)   Gid: ( 1000/  floris)

適切な/etc/fstab設定を探しますが、実行の問題は修正されました。

答え3

ディレクトリに対する実行権限を除外しようとするとき?ファイルマスクfmask = 0111(fmaskはディレクトリではなくファイルにのみ適用されます)とディレクトリマスクdmask = 0777(ディレクトリに適用されます)に別々の値を使用します。

関連情報