Smb.confファイルに共有を追加するスクリプトを作成したいと思います。私の現在のスクリプトはそれをファイルの最後に追加するだけですが、それは理想的ではありません。存在しない場合は新しい共有を追加し、存在する場合は置き換えるものが必要です。
私は現在、CentOS 7ディストリビューションでこれをスクリプト化していますが、必須ではありませんが、理想的にはディストリビューション間で機能するものが必要です。
また、他のパッケージがシステムに追加される前にスクリプトが実行されるため、これを行うためにbashを使用しています。スクリプトはyum
を使用してsamba
パッケージをインストールし、それを構成して共有を追加することになっています。
最新のシステム管理者のベストプラクティスに合わせるには、構成を/etc/smb/smb.d
に個別のファイルとして追加し、include
で参照することをお勧めします。残念ながら、sambaはワイルドカードinclude
sをサポートしていないため、次のようなものを追加する必要があります。
include = /etc/smb/includes.conf
smb.conf
で、次のようなincludes.conf
を生成します。
ls /etc/smb/smb.d/* | sed -e 's/^/include = /' > /etc/smb/includes.conf
もう少しコンテキストについて:
chicks@silver 23:57:23 smb !531 $ ls smb.d a.conf c.conf e.conf chicks@silver 23:57:29 smb !532 $ ls /etc/smb/smb.d/* | sed -e 's/^/include = /' > /etc/smb/includes.conf chicks@silver 23:57:40 smb !533 $ cat includes.conf include = /etc/smb/smb.d/a.conf include = /etc/smb/smb.d/c.conf include = /etc/smb/smb.d/e.conf
これで、追加のsamba構成を/etc/smb/smb.d
に貼り付け、includes.conf
を再生成し、sambaを再起動することができます。