CIFSマウントからファイルを削除する方法は?

CIFSマウントからファイルを削除する方法は?

私のステップは次のとおりです。

mkdir /mnt/docs
chown www-data:www-data /mnt/docs
ls -l /mnt

肯定的な結果:

drwxr-xr-x 2 www-data www-data 4096 Jan  6 01:14 docs
drwxr-xr-x 2 root     root     4096 Dec  8 21:46 cdrom

これで、以下のようにリモート共有を正常にマウントしました(touchrootとしてファイルを送信できます)。

mount -t cifs //192.168.1.10/Public/Documents/Docs -o username=****,password="****" /mnt/docs
ls -l /mnt

否定的な結果(所有者がrootに戻る):

drwxr-xr-x 2 root root    0 Jan 12 02:51 docs
drwxr-xr-x 2 root root 4096 Dec  8 21:46 cdrom

次に、このようなシンボリックリンクを試してみましたchown(-hを使用)。

chown -h www-data:www-data /mnt/docs
ls -l /mnt

しかし、結果はまだ

drwxr-xr-x 2 root root    0 Jan 12 02:51 docs
drwxr-xr-x 2 root root 4096 Dec  8 21:46 cdrom

ルート以外のユーザーとしてローカルマウントポイントに共有をマウントする方法は?目標は、Apacheがリモート共有に書き込むことを可能にすることです。 Debian または CentOS システムのソリューションを高く評価します。また、chmod効果はありません。


関連:シンボリックリンクの作成に失敗しました:所有権変更の問題

答え1

どのシンボリックリンクに言及しているのかわかりません。変更できないのは、/mnt/docsCIFS共有のマウントポイントの所有者です。マウントポイントの所有者が何かがインストールされているユーザー(root)に変更されます。

rootマウントのみ可能なので、マウントポイント(および基本コンテンツ)の所有者をどのように変更しますか?uidとオプション(gid必要に応じてforceuidオプション)を使用してくださいforcegid

次のマニュアルページを参照してくださいmount.cifs

uid=パラメータ

サーバーが所有権情報を提供しない場合、インストールプログラムはマウントされたファイルシステム内のすべてのファイルまたはディレクトリのuidを所有します。ユーザー名または数値 uid で指定できます。指定しない場合、デフォルトは uid 0 です。

したがって、mountコマンドは次のようにする必要があります。

mount -t cifs \
      -o username=****,password="****",uid=www-data \
      //192.168.1.10/Public/Documents/Docs \
      /mnt/docs

関連情報