/ media / userフォルダーのアクセス許可の問題により、外部メディアにアクセスできません


11

外付けハードドライブを接続したり、DVDを挿入したり、USBドライブの内容を確認したりすると、通常とは異なる動作が発生します。

ファイルシステムは正常にマウントされます。rootとしてログインするsudo suと、/media/casper/externaldrive完璧なコンテンツが表示されます。しかし、私のユーザーはcasperできません。Ubuntuは、場所に関係するすべてのアクションに応答しますPermission denied

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

/mediaフォルダーのアクセス許可(問題)を掘り下げることにしました。としてcasper、私は次を見る:

casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x  4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x---  3 root root 4096 aug  3 21:02 casper/
lrwxrwxrwx  1 root root   45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx  1 root root   42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x  2 root root 4096 feb 29 23:56 home/

私が驚いたことは、それが言ったということtotal 16でしたが、最大6つのリストしかありません。私は再度コマンドを実行したので、しかしとしてroot。結果は同じで、奇妙でした。(誰かこれについて私を啓発できますか?)

とにかく、私をさらに驚かせたのは、/media/casperディレクトリが自分のものではなく、アクセスできないことです。私はchown -Rそこからバジンカだけに誘惑されましたが、自分自身を把握した後、「私の助けではないメディアユーザーフォルダ」のようなものをグーグルで検索しました。

しばらく時間がかかりましたが、ついに私はこのスレッドに出会い、ユーザーが750 root:root /media/userフォルダの目的を説明しました。これにより、rootのみがファイルシステムをマウント、表示、管理できるようになり、個々のパーミッションは実際のユーザーに変更されます。

したがって、私の情報が正しければ、/media/casper/externaldrive許可は私にとって好ましいはずです。私はチェックした、

root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root   root   4096 aug  3 21:02 ./
drwxr-xr-x 4 root   root   4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug  3 20:20 externaldrive/

そして、これは事実のようです。

だから私は立ち往生しています。ファイルシステムには、ディレクトリツリー全体を通してアクセス許可がありますが、単一のファイルにアクセスすることはできません。これは、CDおよびUSBドライブでも同じです。

誰が私の貴重な物にアクセスするのを手伝ってくれる?

ああ、ところで。前述のスレッドは、これらのACLのことを話す/media/userの示す、フォルダ+のように、定期的にアクセス許可を後にdrwxr-x---+ 3 root root。私のシステムではこれは表示されません。これらのフォルダのACLはUbuntuの標準ですか、それともユーザーが特別なことをしていましたか?これが私の問題の原因であると心配する必要がありますか?

読んでくれてありがとう。


1
デュアルブートセットアップ(16.04およびWin7)を使用しますが、フォルダー/ media / userのアクセス許可の最後に+が表示されます。だから私はあなたの問題がどこから来たのだと思う。私はこれらの(見つかった12を googleing経由)が、私は、彼らはあなたの問題を解決するのに十分なされているかどうかを知る前に、ACLを使用していません。
カルサス

2
lsトータルカウント1kBのブロックは、非再帰的に、ディレクトリ内のファイルによって使用されます。unix.stackexchange.com/a/4110/44281を参照してください。
-amotzg

@Karsusありがとう、私の問題を見つけたと思う。Zannaの回答を以下で試してみて、最新情報をお知らせします。@ amotzgあは、それは物事をクリアします。ありがとう:)
MicroParsec

好奇心から、「3」とはdrwxr-x--- 3*どういう意味ですか?
thephoenix01

回答:


15

の権限と所有権/media/casper

drwxr-x---  root root 

何で+のACL(のためのアクセス制御リスト)それが唯一のルートは、開いて入力して、このディレクトリへの読み取りや書き込みができることを明らかません。私たちのような謙虚なユーザーは、文字列の最後にパーミッションを取得します---:(

特権のない人々は、ACLを使用してこの場所にアクセスする許可を取得します。なぜこれらをまだ持っていないのかはわかりませんが、セットアップすることはできますが、これは単純な場合もあれば、少し手を加える必要がある場合もあります。

  • acl必要とされているパッケージ(チェックapt-cache policy acl
  • ファイルシステムはaclオプションでマウントする必要があります

後者を確認するには(sdxYルートパーティションに適切に置き換えてください):

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

返す必要があります:

Default mount options:    user_xattr acl

デフォルトのマウントオプションは /etc/mke2fs.conf

オーバーライドされる可能性があるため、以下を確認してください。

cat /proc/mounts | grep sdxY

次のようになります。

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

上記は大丈夫です(acl言及する必要はありません)が、noacl変更する必要があると言われた場合。

次のように、デフォルトのマウントオプションにオプションを追加できます。

sudo tune2fs -o acl /dev/sdxY

または、たとえば次のようにaclルートパーティションラインのオプションに追加できます/etc/fstab

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

ACLを有効にした状態で、setfacl自分にアクセス許可を追加するために使用します。与えるためにusername読んで、(あなたは、ディレクトリを入力するか、その内容を検索するための許可を実行する必要が)/メディア/キャスパーに権限を実行します。

sudo setfacl -m u:username:rx /media/casper

usernameuidに置き換えることができます(おそらく1000idコマンドで確認してください)

sudo setfacl -m u:1000:rx /media/casper

getfaclOliが答えでしたように、使用しているACLアクセス許可を確認します。

getfacl /media/casper

ユーザーからACLアクセス許可を削除するには

sudo setfacl -x u:username /media/casper

すべてのACLアクセス許可をクリアするには

sudo setfacl -b /media/casper

注:にごまかしが多かったのはなぜですか/media。答えはこちら


1
@Zannaに感謝します:apt-cache policy aclACLがインストールされており、最新のものを返します。Default mount options言及aclcat /proc/mount言及していないnoacl。何らかの理由で作成されていないため、ACL権限を手動で追加する必要があると思います。説明したコマンドを使用して、/media/casperディレクトリのrxパーミッションを自分に与えました。外部メディアに再度アクセスできるようになったことを嬉しく思います。ザンナありがとう!
MicroParsec

イェー、それを修正してくれてうれしい:D-
ザンナ

2

UbuntuからWindowsドライブへのアクセス許可を与えたい場合

chmodWindows NTFSドライブの場合、通常のコマンドは機能しません。

次は私のために働く。

ファイルを開きます/etc/mtab

gedit /etc/mtab

このファイルでドライブ名を見つけます(ソリューションを探しているドライブにマウスオーバーするだけで、私の場合はGUIに別の名前が表示され、マウスオーバーすると表示されます/media/user-name/drive-name

/etc/mtab

ファイル内のドライブ名を検索し、マウントされたドライブが割り当てられているドライブを確認します(私の場合- /dev/sda4

次に、このドライブを次のものでマウントします。

sudo ntfs-3g /dev/sda4 /media/"$USER"

これで実行可能ファイルを実行できるようになりましたが、drive-nameの内容を見ることができないため、ドライブをアンマウントして再度マウントしました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.