似乎无法挂载 tar 文件(只读),就像挂载 ISO 映像文件一样。至少,我还没有找到任何实现。
例如,在内部运行find命令会很有用。
这真的(或实际上)不可能实施吗?为什么?
更新通过接受回答,这确实是可能的,尽管必须安装一个程序(不包括在当前发行版中)。它对我有用。我复制了我的场景 (Fedora 12) 中的安装和使用步骤。
# yum install fuse fuse-libs fuse-devel
# yum install libarchive libarchive-devel
# cd /tmp && wget http://www.cybernoia.de/software/archivemount/archivemount-0.6.0.tar.gz
# tar xzf archivemount-0.6.0.tar.gz && cd archivemount-0.6.0
# ./configure && make && make install
# man archivemount
# archivemount -o ro /tmp/mytar.tgz /mnt/tt
Run Code Online (Sandbox Code Playgroud) 我正在使用 Centos 7 从 iptables 迁移到firewalld。在过去,我曾经在 中编写(永久)iptables 规则/etc/sysconfig/iptables,这也用于放置前面带有#( 的注释,以提醒我们为什么我们限制这个或那个 ip , ETC)。
现在,似乎当前(永久)配置是从/etc/firewalld/文件(尤其是/etc/firewalld/zones/*.xml)中读取的。我想我可以在那里添加 xml 注释,但似乎好的做法不是直接编辑这些文件,而是通过firewall-cmd(不?)。
因此,我不确定哪种是向规则添加注释的标准或推荐方法。
有什么建议么?
编辑:作为记录,我已经验证 xml 注释不会在firewall-cmd修改后保存。
我在 Fedora 19 中找不到在哪里设置 umask(为由 php 脚本创建的文件设置适当的权限)。(具体来说,我希望新文件具有 664 权限)
假设在我的 nginx 服务器中我想完成这两个要求:
1)所有*.php文件都将传递给php解释器
2)目录/private/需要http认证
如果我写
location /private/ {
auth_basic "Restricted";
....
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
.... more settings
}
Run Code Online (Sandbox Code Playgroud)
那么(如果我没记错的话)身份验证将仅适用于非 php 文件。相反,如果我将^~标志添加到location块中,那么我就会丢失 php 位置。这是符合逻辑的,因为 nginx 只匹配一个位置块。
看来剩下的唯一选择是使用嵌套位置:
location /private/ {
auth_basic "Restricted";
....
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
.... more settings
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
.... more settings
}
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来相当笨拙和脆弱:每次我添加受保护的目录位置(或具有某些特殊设置的目录)时,我必须记住为 PHP(也许还有其他文件类型)添加嵌套位置。但这似乎是唯一的出路。是这样吗?谁能提出更好的解决方案?