NASサーバー(CentOS 8 Stream)に録画するためにホームカメラを設定しています。転送にFTPを使用しています。 vsftpdをインストールし、専用ユーザー(ftpuser)を作成しました。ファイルをSamba共有/data/recordings(\mynas\recordings)に転送したいと思います。
カメラUIでFTP転送先を設定するときは、常にユーザーのホームディレクトリから起動しているとします。したがって、/data/recordings/camera1 は /home/ftpuser/data/recordings/camera1 になります。この動作を変更する方法はありません。
回避策として、ftpuserのホームディレクトリを/data/recordingsに変更しました。これは、録音フォルダのラベルをuser_home_dir_tに設定した場合にのみ機能します。
semanage fcontext -a -t user_home_dir_t /data/recordings
restorecon -F -R -v /data/recordings
問題は、ラベルが元々samba_share_tであったため、Samba共有が破損していることです。
SELinuxをオフにするとすべてがうまく機能するため、問題は100%フォルダのタグです。
インターネット検索を行った結果、ブールを使用することが解決策である可能性があるようですが、どのようなものを使用するのかわかりません。いくつか試してみましたが、あまり違いはないようです。どんな助けでもいいでしょう。
ありがとうございます!
答え1
これにより、ファイルのセキュリティコンテキストを変更せずに問題を解決できます。
sudo setsebool -P samba_export_all_ro=1
sudo setsebool -P samba_export_all_rw=1
(たぶん2番目のコマンドだけで十分かもしれませんが、テストしませんでした。)