我想脚本添加共享到smb.conf文件.我当前的脚本只是将它附加到文件的末尾,但这并不理想.如果它不存在,我宁愿有一些东西可以添加一个新的共享,如果它存在则替换它.
我目前正在CentOS 7发行版上编写脚本,但理想情况下会喜欢可以在发行版中使用的东西,尽管这不是必需的.
此外,我正在使用bash来执行此操作,因为脚本在其他包添加到系统之前运行.该脚本使用yum来安装samba软件包,然后应该配置它并添加共享.
为了适应现代系统管理员的最佳实践,最好将您的配置作为单个文件添加到/etc/smb/smb.d中,然后使用include引用它们.可悲的是,samba不支持通配符包含,所以你必须添加如下内容:
include = /etc/smb/includes.conf
在你的smb.conf中,然后用以下内容生成includes.conf:
ls /etc/smb/smb.d/* | sed -e’s / ^ / include = /’> /etc/smb/includes.conf
更多背景信息:
小鸡@银23:57:23 smb!531 $ls smb.d
a.conf c.conf e.conf
小鸡@银23:57:29 smb!532 $ls /etc/smb/smb.d/* | sed -e’s / ^ / include = /’> /etc/smb/includes.conf
小鸡@银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,生活也很好.