誰かが私がこの許可拒否エラーを受け取る理由を親切に説明できますか?私は個人的にユーザー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
〜$
権限が正しく設定されていないようです。
あなたはユーザーg
であり、ファイルを読み取ることができます= OK
ただし、ディレクトリ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)
media
ディレクトリはroot
(root
のグループ)によって所有され、モード755であるため、その所有者(root
)のみが書き込み可能です。そのディレクトリに、ディレクトリの変更として扱われるファイルを作成しようとしています(既存のファイルを上書きしていませんか?)。そして、あなたはroot
として実行していません。おそらくそれがあなたが許可を持っていない理由です。
chown
ディレクトリを自分自身にmedia
するか(またはchmod
に書き込むことができるように)、cp
またはsu
の下でSudo
を実行します。