CIFSネットワークドライブのマウント:書き込み権限とchown


99

cifsネットワークドライブにアクセスできます。OSXマシンの下にマウントすると、読み書きができます。

以下を使用して、ubuntuでドライブをマウントします。

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

ネットワークドライブに書き込むことはできませんが、そこから読み取ることはできます。マウントフォルダーの権限と所有者を確認しましたが、次のようになっています。

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

エラーが発生するため、所有者を変更できません。

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

ネットワークドライブの奥深くに行き、そこで所有権を変更すると、フォルダの所有者を変更する権限がないというエラーが表示されます。

書き込み許可を有効にするにはどうすればよいですか?


ファイルシステムは/ etc / fstabにリストされていますか?その場合、エントリにはどのようなオプションがありますか?
ジェニーD

3
また、nopermこの質問に対する私の回答unix.stackexchange.com/a/375523/16287に記載されているマウントオプションを使用することもできます。これにより、すべてのユーザーにCIFSマウントへの読み取りおよび書き込みアクセスが許可されます。
ダニエル

回答:


137

(使用したためsudo)CIFS共有をルートとしてマウントしているため、通常のユーザーとして書き込むことはできません。Linuxディストリビューションとそのカーネルが十分に新しいため、ネットワーク共有を通常のユーザーとして(ただし、ユーザーが所有するフォルダーの下に)マウントできる場合、ファイルを書き込むための適切な資格情報があります(たとえば、共有フォルダーをたとえば、ホームディレクトリ$HOME/netshare/。マウントする前にフォルダを作成する必要があることは明らかです。

別の方法として、マウントされたネットワーク共有が使用するユーザーおよびグループIDを指定します。これにより、その特定のユーザーおよび潜在的にグループが共有に書き込むことができます。以下の追加あなたのマウントにオプションをuid=<user>,gid=<group>と交換する<user><group>、あなたが使用して自動的に見つけることができる独自のユーザーおよびデフォルトのグループでそれぞれidのコマンド。

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

サーバーが所有権情報を送信している場合はforceuidforcegidオプションとオプションを追加する必要があります。

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu

それは私のために働いた!ただし、共有ドメインがログインドメインのあるPCにある場合は、オプションを追加する必要がありますdomain。次のようなものですsudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu。実際、ドメインは「username」オプションを使用できますが/`, like username = DOMAIN / user.name`の代わりに使用する必要があることに注意してください。
ジョアンポルテラ14

それは正解です。:-)「domain =」オプションまたはユーザー名を使用してドメインまたはワークグループ(古いWindowsバージョンの場合)を指定する必要がある場合があります。これは良い点です。また、使用する暗号化スキームまたはCIFSバージョンを指定する必要さえあります。しかし、このすべてはこの質問の一部ではなかったので、私はそれを無視しました。:-)
ホイヘンス14

2
これはまさに私が必要としたものです。起動時にネットワークドライブを自動マウントするためのエントリが/ etc / fstabにありました。:私は、UID = <MYUSERID>このような行のために、私は追加のマウントに書き込むことができませんでした//192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
ジェームズ

5
@ 71GA usernameは、認証に使用するリモートログインです。uidあなたはすべてのファイル/フォルダを昼寝したいローカルのユーザーIDです。そのため、ユーザー名はuidから分離され、ユーザー名はリモートユーザーのログイン、uidはローカルユーザーのIDです。サーバーがSambaで、クライアントとサーバーの両方でLDAPまたは他の集中アカウントを使用している場合も同じことになることに注意してください:-)。
ホイヘンス

1
@Takいい質問です。編集された回答を参照してください。
ジル

20

次のコマンドを正常にテストしました。

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win

19
それぞれのuidとgidを取得するには、 "ID -u <ユーザー>"を使用し、「ID -g <ユーザー>。
NVD

3
man mount.cifs
-jstricker

2
コマンドと一緒にパスワードを書き込まないようにするには、呼び出し中にパスワードオプションを省略します-プロンプトが表示されるので、非表示で入力できるようになります。
conceptdeluxe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.