私のステップは次のとおりです。
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
これで、以下のようにリモート共有を正常にマウントしました(touch
rootとしてファイルを送信できます)。
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/docs
CIFS共有のマウントポイントの所有者です。マウントポイントの所有者が何かがインストールされているユーザー(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