更新:問題はsmbとは関係のない別のサービスが原因で発生したようです。適切な解決策がないことをお詫びします。問題を解決します。
SMBを使用してUbuntu17.10 VMに共有をマウントし、マウント場所(/mnt/smb_mnt
)からファイルを削除しようとしています。
私は最初にゲストとしてマウントを実行しました:Sudo mount -t cifs //ipaddress/share /mnt/smb_mnt/ -oguest,vers=2.0
およびroot
も実行しましたが、いずれも機能しませんでした。また、読み取りおよび書き込み権限を使用してmount -o remount,rw /mnt/smb_mnt
を再マウントしようとしましたが、ファイルを削除できません。
ファイルに777権限を付与し、ファイルの所有者でもあるrm
としてroot
コマンドを実行します。 ls -l
で確認しましたが、アクセス許可はファイルと親ファイルの両方に割り当てたものです(smb_mnt
)
見つけた他の関連する質問に基づいてchattr -i
コマンドを使用しようとしましたが、次のようになります:chattr: Permission denied while setting flags on /mnt/smb_mnt/file
。
削除を実現するために他に何を試みることができますか?
ファイルはマシン上でローカルに簡単に削除できることは知っていますが、テストしたいモジュールはsmbでのみ機能するため、マウントされた場所からファイルを削除する必要があります。そのため、マシンにssh
するだけでは不十分です。ファイルを手動で削除します。
これがSMB設定ファイルです:
[global]
# Include the base global configuration options. These don't usually change.
include = /etc/samba/base_global.conf
# These are configurable via the module
max protocol = SMB2
hide files = //:2eDS_Store/:2eFBCLockFolder/.FBCLockFolder/:2eFBCIndex/.FBCIndex/TheVolumeSettingsFolder/TheFindByContentFolder/Temporary Items/Network Trash Folder/.AppleDB/:2eVolumeIcon.icns/.VolumeIcon.icns/Icon/.AppleDouble/.AppleDesktop/desktop.ini/RECYCLER//
# (Options from the currently enabled Global Profile. Will overwrite any previous options)
# Enabled Global profile: Default Global
# Authentication is handled by the UserDirectory module.
# The "security" option is put in this file as well.
include = /etc/samba/auth.conf
[Space]
# Profile: Guest Read/Write
path = /share/Space
guest ok = True
read only = False
browseable = True
preexec = /opt/space/modules/SMB/bin/scripts/event.py --event connect --profile 105 --service %S --user %u --client-ip %I --server-ip %i --path %P --pid %d
root preexec = /opt/space/modules/SMB/bin/scripts/event.py --root --event connect --profile 105 --service %S --user %u --client-ip %I --server-ip %i --path %P --pid %d
postexec = /opt/space/modules/SMB/bin/scripts/event.py --event disconnect --profile 105 --service %S --user %u --client-ip %I --server-ip %i --path %P --pid %d
# Optional extra definitions created by other programs.
# Will scan /etc/samba/includes.d/ for extra configuation files as well
# A SMB.createConf() will need to be run for it to detect new SMB config files
# The first line (includes.conf) is included for backwards compatibility. Modules should use the includes.d folder and make their own files.
include = /etc/samba/includes.conf
Sambaは、Samba共有のクライアントマシン上の正しいファイル権限を表していません。
Samba接続を介してSambaサーバー上のファイルにアクセスする場合、クライアントマシンでroot
ユーザーとしてログインしている場合でも、Sambaユーザーとしてファイルにアクセスします。
Samba接続を介してファイルに加えた変更は、Samberサーバーにそのように反映されません。
ssh
を介してSambaサーバーにログインし、realファイルのアクセス許可を確認してください。
おそらく、これらのファイルは、Sambaサーバー上の別のユーザーまたは別のグループ、あるいはその両方に属しています。
Samba共有構成で[Space]
ユーザーまたはグループの割り当てを定義しないため、同じSamba共有に接続している他のユーザーは、独自のシステムユーザーアカウントと独自のユーザーファイル権限でこれらのファイルを作成します。