cifsインストールフォルダからファイルメタデータを取得するには?

cifsインストールフォルダからファイルメタデータを取得するには?

当社にはWindows共有フォルダがあります。 Windowsからアクセスすると、ファイルのプロパティメニューが表示され、見つかります。メタデータ:作成者、最後の接続時間など

Linuxではこのフォルダをマウントしましたmount -t cifs。フォルダの使用に関する統計を取得するためのスクリプトを作成したいと思います。

Linuxでこのメタデータにアクセスする方法はありますか?

UPD:またはをgetfacl使用して操作を実行することはできません。これは、Windowsドメインサーバーの名前ではなく、このフォルダがマウントされたローカルLinuxユーザー名のみを提供するためです。statls -la

UPD2:次のコマンドを使用して共有をマウントしました。sudo mount -t cifs //data/Shared /mnt/Shared -o uid=1000,gid=1000,user=<my_windows_account_name>,dom=<my_domain>,pass=<my_windows_password>ここで、uid = 1000とgid = 1000は私のLinuxアカウントのuidとgidです。

ベストアンサー1

あなたは使用しています

mount -t cifs //data/Shared /mnt/Shared -o uid=1000,gid=1000,user=<my_windows_account_name>,dom=<my_domain>,pass=

これは、ローカルシステムに次の2つを通知します。

  1. タプル{ユーザー、ドメイン、パスワード}で指定された資格情報を使用してリモートサーバーに認証します。
  2. UID 1000とGID 1000を持つユーザーアカウントから来たように、リモート共有へのすべてのアクセスを偽造します。

#1を続行する必要があります。ただし、root とアカウントの資格情報を表すローカル ユーザーだけが読み取れるセキュリティ ファイルにユーザーの資格情報を移動することをお勧めします。man mount.cifs詳細については、次を参照してください。

# As root...
cat >/usr/local/etc/Shared.cifs <<'X'
username=my_windows_account_name
domain=my_domain
password=my_windows_password
X
chmod u=rw,go= /usr/local/etc/Shared.cifs
chown my_unix_account_name:root /usr/local/etc/Shared.cifs

# Then mount becomes
mount -t cifs //data/Shared /mnt/Shared -o credentials=/usr/local/etc/Share.cifs,noperm

ただし、#2の使用を中止し、代わりにローカルクライアントにADコンテキストで使用される名前を知らせる必要があります。ここにはあまりにも多くの内容がありますが、ポイントは次のとおりです。

  • インストールrealmdと依存samba関係
  • DNSサーバーがADドメインサーバー(またはそれに対応するローカルサーバー)であることを確認してください。
  • 検索を実行しrealm discover、正しいADドメインを表示できることを確認してください。
  • realm join {domain}ドメインに参加するには実行してください。

これで、他のADユーザーがローカルシステムにログインすることを拒否できます。見てみるコマンドはrealm deny -allと の変形realm permit --groups 'domain admins'AllowUsersとのAllowGroups変形です/etc/ssh/sshd_config。ドメイン管理者でない場合は、この設定を変更する必要があります。マニュアルページはとても素晴らしいです。

次のコマンドを使用して、接続が成功したかどうかをテストできます。

net ads testjoin
getent password my_windows_account_name    # As above
getent group "domain admins"               # An example group that will exist

おすすめ記事