我有一些子域,我想redirect到同一台服务器上的特定端口。 说我有 dev.mydomain.com 我想dev.mydomain.com透明地redirect到mydomain.com:8080 ,我想保留原来的子域名浏览器的url。 我如何用Apache 2.2来做到这一点? 我有默认端口80上运行的Apache 2.2。 我无法找出写configuration来实现这一点。 我已经设置了dev.mydomain.com在DNS中parsing到mydomain.com 。 这是一个intranet开发服务器,具有不可路由的IP地址,所以我不太关心漏洞和安全性,会危及公众面临的服务器。
我喜欢通过密钥访问服务器的想法,所以我不必每次input密码时都input密码,甚至locking我的用户(而不是root )密码( passwd -l username ),所以不可能无需密钥login。 但是,如果我需要为sudo命令input密码,所有这一切都会中断。 所以我很想设置无密码的sudo ,使其符合无密码login。 然而,我仍然有一种直觉,认为这可能会以某种意想不到的方式对我产生反感,似乎有点不安全。 有没有这样的设置警告? 你会build议/不build议这样做的服务器上的用户帐户? 澄清 我在这里讨论在交互式用户会话中使用sudo ,而不是服务或pipe理脚本 我正在谈论使用云服务器(所以我没有物理本地访问一台机器,只能远程login) 我知道sudo有一个超时期间,我不必重新input我的密码。 但是我的演唱会并不是浪费额外的时间来input密码。 我的想法虽然是不必处理密码,因为我认为: 如果我必须记住它,它很可能太短,不安全或重用 如果我为远程帐户生成一个长而唯一的密码,那么我将不得不将其存储在某个地方(本地密码pipe理器程序或云服务),并在每次使用sudo时候获取它。 我希望我能避免这一点。 所以在这个问题上,我想更好地理解一个可能的configuration的风险,警告和折衷。 跟进1 所有答案都说,无密码sudo是不安全的,因为如果我的个人用户帐户被攻陷,它允许“简单”升级权限。 我明白那个。 但另一方面,如果我使用密码,我们会带着密码(太短或常见string,在不同服务中重复)等所有经典风险。 但是我猜如果我在/etc/ssh/sshd_config禁用密码authentication,这样你仍然必须有一个密钥login,我可以使用一个简单的密码只是为了更容易inputsudo ? 这是一个有效的策略? 跟进2 如果我也有一个通过SSH以rootlogin的密钥,如果有人能够访问我的计算机并窃取我的密钥(他们仍然受到操作系统密钥环密码的保护!),他们也可以直接访问root帐户,绕过sudopath。 那么访问root帐户的政策应该是什么呢?
“屏幕”是指如何重新连接到断开连接的SSH会话中提到的程序。 这是一个很好的设施。 但是我真的很想知道一个问题。 我怎么知道我是否在“屏幕”内运行? 区别在于: 如果是的话,我知道我可以安全地closures当前的terminal窗口,例如closuresPuTTY窗口,而不会丢失我的shell(Bash等)会话。 如果否,我知道在closuresterminal窗口之前我必须处理任何待处理的作品。 更好的是,我希望在PS1提示符下显示这个状态,以便我可以随时自动看到它。
更新摘要 / var / www目录由root:root拥有,这意味着没有人可以使用它,这是完全没有用的。 既然我们都想要一个真正有效的web服务器(而且没有人应该以“root”身份login),那么我们需要解决这个问题。 只有两个实体需要访问。 PHP / Perl / Ruby / Python都需要访问文件夹和文件,因为他们创build了许多文件(即/uploads/ )。 这些脚本语言应该在nginx或apache下运行(或者甚至像FastCGI for PHP一样)。 开发者 他们如何获得访问? 我知道有人在某个地方做过这个事情。 不过,有数十亿的网站,你会认为会有更多关于这个话题的信息。 我知道777是完全读/写/执行所有者/组/其他的权限。 所以这似乎并不需要正确,因为它给随机用户的完整权限。 需要在/var/www上使用哪些权限,以便: 源代码控制像git或svn 用户像“网站”( 甚至添加到“www-data” ) 像apache或lighthttpd这样的服务器 和PHP / Perl / Ruby 都可以读取,创build和运行文件(和目录)吗? 如果我是正确的,Ruby和PHP脚本不是直接“执行”,而是传递给解释器。 所以没有必要对/var/www文件执行许可…? 因此,似乎正确的许可将会是chmod -R 1660 这四个实体共享的所有文件 所有文件都是不可执行的 完全阻止目录中的其他人 将所有未来文件的权限模式设置为“sticky” 它是否正确? 更新1:我刚刚意识到,文件和目录可能需要不同的权限 – 我正在谈论上面的文件,所以我不知道什么目录权限将需要。 更新2: /var/www的文件夹结构急剧变化,因为上述四个实体之一总是添加(有时删除)很多级别的文件夹和子文件夹。 他们还创build和删除其他3个实体可能需要读/写访问的文件。 因此,权限需要对文件和目录做以上四件事情。 因为他们都不需要执行权限(请参阅上面关于ruby / […]
让每个文件在访问时都要更新,这听起来像是浪费。 使用noatime选项安装文件系统有什么用处。 什么样的应用程序/服务器依赖于访问时间?
是否有列出所有启用的Apache模块的命令?
我有Eclipse项目和“.project”文件,目录结构看起来像“ myProject/.project ”。 我想将这些'.project'文件复制到另一个目录,但我想要保留封闭的目录名称。 假设我有' a/myProject/.project ',我想将' myProject/.project '复制到' b ',所以它是' b/myProject/.project ',但' b/myProject '不存在。 当我尝试在一个: cp -r ./myProject/.project ../b 它只复制'.project'文件本身,没有'myProject'目录。 请指教。
我正在尝试为另一个用户创build一个ssh密钥。 我以root身份login。 我可以只编辑由ssh-keygen生成的文件,并将root改为我想要的用户?
我已经被debian-sys-maint用户多次咬了,这个用户默认安装在从Ubuntu存储库安装的mysql-server软件包上。 通常会发生什么是我拉我们的生产数据库(这不在Debian / Ubuntu上运行)的新副本,以排除故障或新的开发,忘记排除mysql.user表,从而失去了debian-sys-maint用户。 如果我们为了任何原因添加新的mysql用户,我必须将这些用户“合并”到我的开发环境中,而不是仅仅叠加表。 没有用户我的系统似乎仍然function,但困扰与错误,如: sudo /etc/init.d/mysql restart Stopping MySQL database server: mysqld…failed. error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' 什么是debian-sys-maint用于? 有没有更好的方法让软件包维护者做他们正在做的事情? 丢失后恢复最简单的方法是什么? 什么是这个用户的正确/最小的一组权限? 似乎不好的主意“授予*。* …的所有特权” 编辑 另外的问题 – /etc/mysql/debian.cnf中的密码是否已经被哈希或者是这个明文密码? 当你重新创build用户时,这很重要,而我从来没有像第一次尝试那样做。 谢谢
在Linux中安装VirtualBox共享文件夹的步骤是什么? 我尝试了以下安装命令的变体,但我不断收到protocol error或其他安装错误。 sudo mount -t vboxsf share /home/toto