小编lar*_*sks的帖子

将 ACL 应用于 Dovecot 公共命名空间

我想通过 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 工作的记录行为将是朝着正确方向迈出的一步。

email imap dovecot access-control-list namespaces

6
推荐指数
1
解决办法
4134
查看次数

支持自助注册和电子邮件验证的帐户管理工具?

我在一个大学环境中工作,该环境过去几乎只为已经在中央用户数据库中拥有“正式”帐户的大学附属机构提供服务。我们越来越多地向不适合这种传统模型的外部合作者(托管的 Subversion/git 存储库、Wiki 访问等)提供服务。

我正在寻找一种工具,可以让我们管理“轻量级”帐户,其中“轻量级”的意思是:

  • 用户将能够通过 Web 界面自行注册帐户。
  • 帐户将通过某种电子邮件 + 验证 URL 机制自动验证。

默认情况下,拥有帐户不会授予对任何内容的访问权限(授权将通过组成员身份或特定服务 ACL 获得)。这是流行的 Web 服务的一个非常典型的模型,但我没有太多运气找到一个开箱即用的工具(而且我们真的没有时间或资源自己编写一个)。

有许多工具可以提供自助式密码更改和元数据编辑,但我还没有找到一种可以处理注册部分的工具。我希望 FreeIPA 能够处理这个问题,但据我所知它没有。

您是否知道可以启用此模型的任何工具?我对商业解决方案持开放态度,如果您对类似的事情有很好的经验。

identity-management ldap directory lifecycle user-accounts

6
推荐指数
1
解决办法
2887
查看次数

grep 日期范围 - apache 日志

我想知道我怎么能做以下 grep:

  • grep Apache 日志仅适用于一系列日期,假设从 2010 年 11 月 5 日到 2010 年 12 月 5 日

  • grep 从 2010 年 11 月 15 日开始到最后一个日志条目的 Apache 日志。

谢谢

log-files grep

5
推荐指数
1
解决办法
1万
查看次数

使用“puppet parser validate”验证 Puppet 清单的问题

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()当前用户无法访问的文件,这通常会导致它失败并出现权限错误。

其他人在做什么?

git puppet

5
推荐指数
1
解决办法
1399
查看次数

是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?

是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?据我所知,OS X 10.6.x 将通过 SLAAC 获取地址,但它似乎不支持 DHCPv6 或路由器广告中的 RDNSS/DNSSL 选项,这意味着对于名称查找工作之一必须手动配置 DNS 服务器。

有没有其他选择?与本地网络配置工具集成良好的第三方解决方案?我现在正在构建 ISC DHCP 客户端 (4.2.3),它确实支持 DHCPv6,但配置与 OS X 网络首选项窗格正交。

networking ipv6 mac-osx isc-dhcp

5
推荐指数
1
解决办法
151
查看次数

GPG 在部署脚本中验证 git 标签

我们希望我们的部署过程直接从我们的 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. 有没有另一种方法可以做到这一点?

或者,如果您有一个使用签名标签进行验证的文档化部署工作流程,我会对指向它的链接感兴趣。

deployment git

5
推荐指数
1
解决办法
237
查看次数

Windows 2008 启动脚本不会运行?

我试图在我的 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,如果我手动运行它,它可以正常工作。

windows-server-2008 group-policy startup-scripts

5
推荐指数
1
解决办法
9339
查看次数

在 KVM 上无人值守安装 Windows Server 2012

我正在尝试使用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)

unattended kvm-virtualization windows-server-2012-r2

5
推荐指数
1
解决办法
3889
查看次数

Windows unattend.xml 文件中的`&lt;component&gt;` 元素需要哪些属性?

文件中的<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)

虽然nameprocessorArchitecture相当不言自明,并language表明它可能引入了特定于语言环境的设置,但我无法找到有关这些属性中的任何一个的任何文档。

特别是,什么是versionScopepublicKeyToken?目前它们似乎是“神奇的常数”。

unattended windows-server-2012

5
推荐指数
1
解决办法
1520
查看次数

如何内省特定挂载的“共享子树”挂载标志?

在 Linux 下,共享子树标志控制挂载点如何与父和子挂载命名空间共享。这些标志包括MS_SHAREDMS_PRIVATE,和MS_SLAVE。如何查看在特定挂载点上设置了哪些标志?

这些标志不会出现在mount或的输出中/proc/mounts

linux filesystems mount

5
推荐指数
1
解决办法
228
查看次数