当用户登录系统并且没有主目录时,我们想使用pam_mkhomedir创建用户的主目录。这是一种常见的做法。以下是 pam_mkhomedir 的简要说明:
如果会话开始时 pam_mkhomedir PAM 模块不存在,则 PAM 模块将创建用户主目录。这允许用户存在于中央数据库(例如 NIS、kerberos 或 LDAP)中,而无需使用分布式文件系统或预先创建大量目录。骨架目录(通常是/etc/skel/)用于复制默认文件,并为创建设置一个umask。
然而,这是一个运行 ZFS 的 FreeBSD 8.2 系统。我们需要先执行一个 ZFS 命令,因为我们希望每个用户有一个 ZFS 文件系统。pam_mkhomedir可以做一个mkdir,但我们需要做类似的事情zfs create /zpool/home/$USER。
有谁知道在用户的第一次登录会话期间是否可以使用 PAM 来执行命令?
我有一个 logrotate.d 配置文件,看起来像这样:
/home/myapp/log/* {
daily
compress
dateext
ifempty
delaycompress
olddir /home/myapp/baklog
}
Run Code Online (Sandbox Code Playgroud)
我想在一些特定的日志文件中应用其他规则,例如“邮件”。如何仅对某些文件应用其他规则?
如果我在上面添加另一个与附加文件匹配的规则(例如/home/myapp/log/warning.log { ... },我收到类似error: /etc/logrotate.d/myapp:3 duplicate log entry for /home/myapp/log/warning.log.
如何指定以重叠方式匹配特定文件的多个规则?
我想在http://yum.puppetlabs.com/镜像以下 Yum/RPM 存储库:
Puppet 存储库包含曾经发布的所有 Puppet 产品,并且非常大,大约 8GB。我只需要镜像文件的最新版本。
我尝试使用reposync --newest-only以下方法镜像存储库:
reposync --config=puppetlabs.repo.el6 --repoid=puppetlabs-products --repoid=puppetlabs-deps --newest-only --download_path=el/6 --quiet --downloadcomps
Run Code Online (Sandbox Code Playgroud)
这会下载我需要的最新软件包。然而,reposync不会自动创建的常规目录结构(x86_64,noarch,SRPMS等),并且不反射镜repodata.xml。结果,我的 yum 客户收到如下错误:
[root@web1 ~]# yum --quiet install puppet
http://mirrors.example.org/pub/puppet/el/6/puppetlabs-deps/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: puppetlabs-deps. Please verify its path and try again
[root@web1 ~]#
Run Code Online (Sandbox Code Playgroud)
有没有办法以编程方式仅镜像来自 …
有没有办法让 IIS 在不回收应用程序池的情况下启动或停止侦听端口?例如,我有一个反向代理侦听端口 80 并在 8080 上将请求传递到我的站点。但是,如果反向代理出现问题,我需要能够将其关闭,让我的 IIS 站点侦听端口 80 .
我的网站在启动时必须加载大量参考数据,我需要一种方法来动态更改 IIS 设置而不会丢失加载的数据。
我试过 IIS 管理器,我试过使用 AppCmd.exe,两者都导致了回收。这是在 IIS 7 上
我有一个许可证服务器。硬件出现故障。
许可证软件取决于由 返回的系统的“hostid” /usr/bin/hostid。hostid 是唯一的“当前主机的数字标识符”。
如果我将软件迁移到另一台主机,“hostid”似乎会改变并且许可软件将失败。请注意,此系统的主机名和 IP 地址将保持不变。
两个问题:
hostid 是如何确定的?它是随机的,是否取决于主机名或 MAC 地址等?
我可以在新系统上设置 hostid 使其与旧系统的 hostid 匹配吗?
我正在使用 ZFS 运行 FreeBSD 主机。
让我们假设我正在使用zfs send以下命令在远程主机上存储一系列增量 ZFS 快照图像:
zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago > /nfs/backups/foo.zfs
Run Code Online (Sandbox Code Playgroud)
或者我想通过 FTP 服务器发送流:
% ftp backup
ftp> put "| zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago" /backups/foo.zfs
Run Code Online (Sandbox Code Playgroud)
我想验证这个远程图像。我想打印此图像中的快照列表,或者可以选择提取校验和或其他元数据来帮助检查图像是否有效并包含我预期的快照。
如何查询图像文件并查看里面的内容?
我已尝试zfs receive使用-nv(no-op和verbose) 标志列出图像中的快照,但这可能不适用于实时系统:
# zfs receive -nv zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: destination 'zpool' exists
must specify -F to overwrite it
# zfs receive -nv -F zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: …Run Code Online (Sandbox Code Playgroud) 所以,我们在我们班上的 DNS 章节,我想知道是否有任何可能的方法可以通过命令行界面(即 Telnet 或 netcat)连接到端口 53 上的 DNS 服务器,就像我们为 SMTP 或 HTTP 所做的那样或 POP 在其特定端口上;我试过:
> telnet 8.8.8.8 53
Run Code Online (Sandbox Code Playgroud)
但是连接一建立就关闭了;后来我意识到这是因为 telnet 使用 TCP 而 DNS 使用 UDP。
然后我尝试对 netcat 做同样的事情:
> nc -u 8.8.8.8 53
Run Code Online (Sandbox Code Playgroud)
纳达!我只是想看看 DNS 的工作是否透明。(比如 http、SMTP 等)
如何使用 rsyslog 使日志文件远程和本地存储?
我在各种 Supermicro 和其他白盒服务器上运行 Linux(基于 Red Hat、CentOS、SL、版本 5 和 6)。有些有 IPMI,有些没有。
其中一些系统连接到键盘/显示器 (KVM) 控制台交换机。其他系统连接到远程串行控制台。更新的服务器连接到 IPMI,可通过 KVM-over-LAN 控制台重定向或 Serial over LAN (SOL) 使用。
使用所有这些方法,我们希望在所有串行控制台和 KVM 屏幕上看到一致的输出。例如,我们希望能够与系统进行从启动到关机的交互,我们希望看到整个启动顺序。这包括查看由以下人员打印的任何消息并与之交互:
fsck,例如在fsck大型文件系统的冗长s期间。在带有串行控制台的系统上,有时fsck会坐在那里什么也不做,等待系统管理员输入密码。但是系统管理员可能看不到这个密码提示,除非我们碰巧记得登录到串行控制台。Starting sshd: [ FAILED ] typo in sshd_config on line 171)login:提示,并允许我登录到系统中。我尝试了几种方法,但似乎无论我输入什么grub.conf,有些消息都会打印到监视器或串行控制台,但不能同时打印到两者。
是否可以告诉引导加载程序、Linux 内核、操作系统等将所有消息打印到连接的监视器以及串行控制台?
我有一个关于共享打印机的问题,以及如何最好地限制对它们的访问。
我有一台从我们的打印服务器 (\\server01\printer01) 共享的打印机,我将它锁定到应该通过共享安全选项卡访问的安全组。
我还有那台打印机的 AD 对象,它允许任何人访问那台打印机。我认为最好通过共享锁定它,因为我不想让任何未经身份验证的用户打开共享。
关于我如何能做得更好,或者我如何完全搞定我的网络有什么想法吗?它目前似乎有效,除了我查看 AD 权限并“我以为我锁定了它”的时候。