我想通过 Dovecot 中的一组公共只读邮箱提供对某些邮件列表的访问。我的 dovecot (dovecot-2.0.9) 配置中有一个公共命名空间定义,如下所示:
namespace {
type = public
separator = .
prefix = news.
location = maildir:/var/spool/news
subscriptions = no
}
Run Code Online (Sandbox Code Playgroud)
我想将此命名空间中的所有邮箱设为只读。我有 ACL 插件的以下配置:
plugin {
acl = vfile:/etc/dovecot/acls:cache_secs=300
}
Run Code Online (Sandbox Code Playgroud)
仔细阅读文档后,我似乎有一个/var/spool/news/.foo.bar可以将以下内容放入
的邮件文件夹
/var/spool/news/.foo.bar/dovecot-acl:
anyone rl
Run Code Online (Sandbox Code Playgroud)
但这没有任何影响。我也尝试创建一个/usr/local/etc/dovecot/acls/news.foo.bar具有相同内容的文件
,但这也没有任何作用。我打开了邮件调试:
mail_debug = yes
Run Code Online (Sandbox Code Playgroud)
但日志不会产生任何与 ACL 处理相关的内容。我很想知道是否有人让它正常工作,如果是这样,您是否可以提供一些配置示例。
此外,如果有任何不涉及每个邮箱配置的方法(例如,将 ACL 应用于news.*或其他内容的能力),那就太棒了。获取默认 ACL 工作的记录行为将是朝着正确方向迈出的一步。
我在一个大学环境中工作,该环境过去几乎只为已经在中央用户数据库中拥有“正式”帐户的大学附属机构提供服务。我们越来越多地向不适合这种传统模型的外部合作者(托管的 Subversion/git 存储库、Wiki 访问等)提供服务。
我正在寻找一种工具,可以让我们管理“轻量级”帐户,其中“轻量级”的意思是:
默认情况下,拥有帐户不会授予对任何内容的访问权限(授权将通过组成员身份或特定服务 ACL 获得)。这是流行的 Web 服务的一个非常典型的模型,但我没有太多运气找到一个开箱即用的工具(而且我们真的没有时间或资源自己编写一个)。
有许多工具可以提供自助式密码更改和元数据编辑,但我还没有找到一种可以处理注册部分的工具。我希望 FreeIPA 能够处理这个问题,但据我所知它没有。
您是否知道可以启用此模型的任何工具?我对商业解决方案持开放态度,如果您对类似的事情有很好的经验。
我想知道我怎么能做以下 grep:
和
谢谢
我puppet parser validate在 git pre-commithook 中使用,以便在将文件提交到我们的 Puppet 配置存储库之前发现问题。不幸的是,这个命令似乎是一个非常轻量级的语法检查,它只标记错误,例如不平衡的引号和括号。
该validate命令似乎并未实际解析配置并查找无效属性、未定义引用等内容。例如,以下情况不会导致投诉:
file { 'somefile': requires => File['some-other-file'] }
Run Code Online (Sandbox Code Playgroud)
在这个例子中,requires应该是require. 同样,这也不会产生错误:
file {'somefile': require => File['file-that-does-not-exist']}
Run Code Online (Sandbox Code Playgroud)
没有资源定义file-that-does-not-exist。
有没有办法在不实际应用配置的情况下捕获这些类型的错误?我希望puppet apply命令上有某种标志,可以在不进行更改的情况下完全解析配置,但据我所知,Puppet 2.7.1 中不存在这样的选项。
更新
puppet apply --noop似乎在另一个方向上太努力了。它将尝试stat()在清单中引用的任何文件,如果它尝试stat()当前用户无法访问的文件,这通常会导致它失败并出现权限错误。
其他人在做什么?
是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?据我所知,OS X 10.6.x 将通过 SLAAC 获取地址,但它似乎不支持 DHCPv6 或路由器广告中的 RDNSS/DNSSL 选项,这意味着对于名称查找工作之一必须手动配置 DNS 服务器。
有没有其他选择?与本地网络配置工具集成良好的第三方解决方案?我现在正在构建 ISC DHCP 客户端 (4.2.3),它确实支持 DHCPv6,但配置与 OS X 网络首选项窗格正交。
我们希望我们的部署过程直接从我们的 git 存储库中提取,但只有在签名时才激活新的更改(通过 git
tag -s在使用 GPG 签名)签名。我发现很少有使用 GPG 验证 git 标签的工作流示例,所以我不确定是否有此类事情的“最佳实践”。
到目前为止,我们所拥有的看起来是这样的:
# discard erroneous local changes
git reset --hard HEAD
# get changes
git fetch
start=$(git rev-parse FETCH_HEAD)
# get new tags
git fetch --tags
# find most recent release tag
tag=$(git describe --abbrev=0 --match "release-*" $start)
if git tag -v $tag; then
git checkout $tag
...do stuff...
fi
Run Code Online (Sandbox Code Playgroud)
这有意义吗?特别是,为了避免在部署过程中进行错误的本地更改git reset --hard
HEAD,这样做是正确的吗?此外,记住FETCH_HEAD似乎是必要的,其他明智的标签随后HEAD不会出现在git describe. 有没有另一种方法可以做到这一点?
或者,如果您有一个使用签名标签进行验证的文档化部署工作流程,我会对指向它的链接感兴趣。
我试图在我的 Windows 2008 Server (R2) 系统启动时运行一个非常简单的批处理脚本。我已通过运行将脚本添加到本地组策略中的“启动脚本”中gpedit.msc,我在Windows Settings/Scripts (Startup/Shutdown)/Startup运行时看到下面列出的脚本rsop.msc,但该脚本没有被执行。rsop即使在重新启动后,“Last Executed”列也是空的,并且永远不会创建应该由脚本创建的文件。
目前,脚本的全部内容是:
rem Check if this script is running.
date /t > c:\temp\flag
Run Code Online (Sandbox Code Playgroud)
目标目录 ( c:\temp) 存在。该脚本名为c:\scripts\startup.bat,如果我手动运行它,它可以正常工作。
我正在尝试使用virt-install. 安装程序抱怨说,“Windows 无法<ProductKey>从无人参与的应答文件中读取设置”,我一直无法弄清楚如何继续处理这一点。
我从以下autounattend.xml文件开始:
<unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:ms="urn:schemas-microsoft-com:asm.v3"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS" processorArchitecture="x86">
<UserData>
<AcceptEula>true</AcceptEula>
<ProductKey>
<Key>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
</UserData>
<ImageInstall>
<OSImage>
<WillShowUI>Never</WillShowUI>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
<InstallFrom>
<MetaData>
<Key>/IMAGE/Name</Key>
<Value>Windows Longhorn SERVERSTANDARDCORE</Value>
</MetaData>
</InstallFrom>
</OSImage>
</ImageInstall>
</component>
</settings>
</unattend>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下方法将其烘焙成 ISO 映像mkisofs:
$ ls config/
autounattend.xml
$ mkisofs -o config.iso -J -r config
Run Code Online (Sandbox Code Playgroud)
然后我像这样开始安装:
virt-install -n ws2012 -r 2048 -w network=default,model=virtio \
--disk path=ws2012.qcow2,device=disk,bus=virtio \
--cdrom en_windows_server_2012_r2_with_update_x64_dvd_4065220.iso \ …Run Code Online (Sandbox Code Playgroud) 文件中的<component>元素unattend.xml——用于提供完全自动化的 Windows 安装所需的信息——通常具有许多属性,例如:
<component
name="Microsoft-Windows-International-Core-WinPE"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
language="neutral"
versionScope="nonSxS">
<!-- ... -->
</component>
Run Code Online (Sandbox Code Playgroud)
虽然name和processorArchitecture相当不言自明,并language表明它可能引入了特定于语言环境的设置,但我无法找到有关这些属性中的任何一个的任何文档。
特别是,什么是versionScope和publicKeyToken?目前它们似乎是“神奇的常数”。
git ×2
unattended ×2
deployment ×1
directory ×1
dovecot ×1
email ×1
filesystems ×1
grep ×1
group-policy ×1
imap ×1
ipv6 ×1
isc-dhcp ×1
ldap ×1
lifecycle ×1
linux ×1
log-files ×1
mac-osx ×1
mount ×1
namespaces ×1
networking ×1
puppet ×1