web-dev-qa-db-ja.com

LinuxからWindowsマウントフォルダーのアクセス許可を変更する

私はLinux(rhel7)にWindows共有をマウントして使用しました

mount -t cifs -o username=<share user>,password=<share password> //WIN_PC_IP/<share name> /mnt

マウントに成功しました。 Linuxからマウントされたフォルダのアクセス許可を変更しようとしたところ、エラーが発生しました。

chmod:「/ mnt /」の権限を変更:権限が拒否されました

chmod -R 777 /mnt

Linuxでマウントされたフォルダーのアクセス許可を変更するにはどうすればよいですか?

Linuxコマンド(chmod)からマウントされたWindowsフォルダーの権限を変更することは可能ですか?

1
harish chava

Linuxコマンド(chmod)からマウントされたWindowsフォルダーの権限を変更することは可能ですか?

いいえ。CIFSはNTFSと同様に仮想ファイルシステムであるため、chmodは影響しません。また、マウントポイントにアクセスする前にマウントポイントのアクセス許可を変更しても、影響はありません。マウント後のアクセス許可は、常にマウント前のアクセス許可を置き換えるためです。

必要な権限が777の場合は、mountコマンドを変更して、これらの権限を含めます:dir_mode=0777,file_mode=0777nounixオプションを追加する癖もついてきますが、Windows共有の場合はあまり効果がありません。

代わりにこれを試してください:

mount -t cifs -o username=<share user>,password=<share password>,dir_mode=0777,file_mode=0777,nounix //WIN_PC_IP/<share name> /mnt

そして、より良いマウントポイントは、/ mnt自体ではなく、/ mntの下にあることに同意します。

2
Morbius1

まず、ルート(デフォルトでは)のみが/mntディレクトリ自体の権限を変更できます。これは、root:rootが所有しているためです。そのため、権限を変更しようとすると、非ルートとして失敗します。

/mnt内にサブディレクトリを作成し、権限を変更してからマウントすることで、これを自分で簡単にしたいと思うでしょう。

まず、すでに何かをアンマウントします。

Sudo umount /mnt

次に、共有をマウントするサブディレクトリを作成します

Sudo mkdir /mnt/share

次に、変更するユーザーが所有するアクセス許可を変更します。

Sudo chown foo:foo /mnt/share

ここで、foo:fooは、ユーザーfooのユーザー名です。

最後に、代わりに/mnt/shareの場所にマウントします。

Sudo mount -t cifs -o username=xxx,password=xxx //WIN_PC_IP/<share name> /mnt/share

それでも/mnt/share内のファイルが正しいユーザーによって所有されていないという問題がある場合は、マウントオプションでuid=xxx,gid=xxxを指定する必要がある場合があります。

3
Kristopher Ives