web-dev-qa-db-ja.com

Linuxcpアクセス許可がntfsファイルシステムで拒否されました

誰かが私がこの許可拒否エラーを受け取る理由を親切に説明できますか?私は個人的にユーザーgであり、lsが示すように、ソースと宛先の両方に対する読み取りおよび書き込み権限があります。私のシステムはslackware 14であり、書き込まれるデバイスは私の電子書籍リーダー、ntfs-3g file system

他のntfsファイルシステム、サムドライブ、外付けHDDなどをユーザーとして書き込むことができます。それらのいずれの権限設定にも、目に見える違いはありません。 ntfsであるため、それらはすべてグループルートのルートによって所有されます。私がこの問題を抱えているのはこの電子書籍リーダーだけです(rootとして書き込むことはできますが)。したがって、問題はこのデバイスに固有のものであると思いますが、それが何であるかはわかりません。

~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt /500gb/database/media/  
cp: cannot create regular file '/500gb/database/media/Wyndham-TheMidwichCuckoos.txt': Permission denied  
~ $ ls -l /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt                         
-rw-r--r-- 1 g users 380183 Aug 10 11:04 /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt  
~ $ ls -l /500gb/database/  
total 32  
drwxr-xr-x 2 root root 8192 Aug 10 11:23 cache/  
drwxr-xr-x 3 root root 8192 Aug  5 13:26 layout/  
drwxr-xr-x 2 root root 8192 Aug  9 14:07 media/  
drwxr-xr-x 2 root root 8192 Aug  5 17:28 sync/  
~ $

電子書籍リーダーはfat32で、ntfsだと思っていました。
〜$マウント
/dev/sda3 on/type ext2(rw)
proc on/proc type proc(rw)
/sysタイプsysfs(rw)のsysfs
/home type ext2(rw)の/ dev/sda4
/dev/shmタイプのtmpfs(rw)のtmpfs
/winxpタイプfuseblkの/ dev/sda1(rw、allow_other、blksize = 4096、default_permissions)
/500gbタイプvfat(rw)の/ dev/sdb
/3tbタイプfuseblkの/ dev/sdd1(rw、allow_other、blksize = 4096)
〜$ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt/3tb
〜$ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt/500gb
cp:通常のファイルを作成できません '/500gb/Wyndham-TheMidwichCuckoos.txt':アクセスが拒否されました
〜$

ルートとしてもユーザーとしても、この電子書籍リーダーの権限を変更することはできません
rootとしては機能しているように見えますが、何も変わりません
/home/g#chmod 777 -R/500gb/database
/home/g#ls -l/500gb/database
合計32
drwxr-xr-x2ルートルート81928月10日11:23キャッシュ
drwxr-xr-x3ルートルート81928月5日13:26レイアウト
drwxr-xr-x2ルートルート81928月9日14:07メディア
drwxr-xr-x2ルートルート81928月5日17:28同期

ユーザーとして、chmodは拒否されます。
〜$ chmod 777 -R/500gb/database
chmod: '/ 500gb/database'の権限の変更:操作は許可されていません
chmod:「/ 500gb/database/cache」の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/cache/cacheExt.xml'の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/cache/media.xml'の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/cache/cacheExtSchema_1.1.xsb'の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/media'の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/media/Stevenson-TreasureIsland.txt'の権限の変更:操作は許可されていません
chmod: '/ 500gb/database/media/Rendell-WolftotheSlaughter.txt'の権限の変更:操作は許可されていません

Miroslav Koskarのおかげで、このプロセスは私にとってうまくいきました
/home/g#マウント| grep sdb
/home/g#mount/dev/sdb -o uid = 1000、gid = 100/500gb
/home/g#マウント| grep sdb
/500gbタイプvfatの/ dev/sdb(rw、uid = 1000、gid = 100)
/home/g#ls -l/500gb/database
合計32
drwxr-xr-x 2gユーザー81928月10日11:23キャッシュ
drwxr-xr-x 3gユーザー8192Aug 513:26レイアウト
drwxr-xr-x 2gユーザー81928月10日12:51メディア
drwxr-xr-x 2gユーザー81928月5日17:28同期
/home/g#
〜$ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt/500gb/database/media
〜$

1
user985675

権限が正しく設定されていないようです。

  1. あなたはユーザーgであり、ファイルを読み取ることができます= OK

  2. ただし、ディレクトリmediaは書き込み可能ではないため、宛先にファイルを作成することはできません。rootのみが書き込み可能です。

したがって、rootとしてコピーするか、ターゲットのアクセス許可を変更して、mediaディレクトリへの書き込みアクセス許可を取得します。


指摘したように、マウントされたNTFSファイルシステムのアクセス許可や所有権を変更することはできません。その場合、適切なマウントオプションを使用する可能性があります。 man mountからの以下の抜粋

uid = value、gid = value、umask = value

ファイルシステムにファイル権限を設定します。 umask値は8進数で指定されます。デフォルトでは、ファイルはrootによって所有されており、他の人が読み取ることはできません。


例:(FAT32ファイルシステムを使用する/dev/sdc1の場合)

デバイスがマウントされていないことを確認します(以下は出力なしで戻るはずです)

$ mount | grep sdc1

uidおよびgidオプションを設定してデバイスをマウントします

$ Sudo mount /dev/sdc1 -o uid=1000,gid=1000 /mnt

マウントポイントを確認します

$ mount | grep sdc1

/dev/sdc1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
1

mediaディレクトリはrootrootのグループ)によって所有され、モード755であるため、その所有者(root)のみが書き込み可能です。そのディレクトリに、ディレクトリの変更として扱われるファイルを作成しようとしています(既存のファイルを上書きしていませんか?)。そして、あなたはrootとして実行していません。おそらくそれがあなたが許可を持っていない理由です。

chownディレクトリを自分自身にmediaするか(またはchmodに書き込むことができるように)、cpまたはsuの下でSudoを実行します。

0
Scott