Database Ubuntu Web服务器权限
现在我买了一台Ubuntu云服务器。今天早上我安装了Webmin,现在我有一个问题。是否可以创建只能使用一个目录的用户,SVN、FTP、PHP、Python、MySQL、Apache?例如,用户Kevin只能使用/var/www/Kevin/?哦,创建目录后,SVN签出应该会填充目录。管理所有数据库的最佳方法是什么?很多人都会使用数据库,那么我怎样才能保证它的安全呢?是否可以在每次执行查询时备份数据库 非常感谢, 问候,,Database Ubuntu Web服务器权限,database,security,ubuntu,permissions,backup,Database,Security,Ubuntu,Permissions,Backup,现在我买了一台Ubuntu云服务器。今天早上我安装了Webmin,现在我有一个问题。是否可以创建只能使用一个目录的用户,SVN、FTP、PHP、Python、MySQL、Apache?例如,用户Kevin只能使用/var/www/Kevin/?哦,创建目录后,SVN签出应该会填充目录。管理所有数据库的最佳方法是什么?很多人都会使用数据库,那么我怎样才能保证它的安全呢?是否可以在每次执行查询时备份数据库 非常感谢, 问候,, 凯文这可能更适合你 也就是说,在每次查询后备份数据库听起来像是一个可怕的
凯文这可能更适合你 也就是说,在每次查询后备份数据库听起来像是一个可怕的性能食谱,可能没有真正的好处。配置或修改您的应用程序以将审核日志发送到另一台计算机可能更容易实现 您可以将标准配置为只允许kevin在
/var/www/kevin
中编写。限制kevin可以运行的程序可能需要像、或这样的工具。这些工具中的任何一个都可以防止用户执行不受信任的程序,或者在标准Unix权限之上提供额外的安全层
我已经在AppArmor上工作了十多年了,这将是我在这项工作中首先选择的工具,但其他工具都非常优秀,可能更适合您的环境。(可能已经预装了AppArmor。请检查aa状态(8)
输出以查看:
但首先要确保您的Unix权限是正确的——可能是老生常谈,但它们非常棒
更新
但是,当“kevin”登录到SSH时,他会自动进入目录
/var/www/kevin/
(并且不能进入/var/www/
或下面的目录),我该怎么做呢
您可以将cd/var/www/kevin
命令添加到kevin的~/.bash_profile
或~/.profile
文件中。这可能是恼人的,而不是有用的。(我不建议将kevin的主目录(在/etc/passwd
中)设置为/var/www/kevin
,因为这样会存储~/.bash_历史
和~/.ssh/*
中的/var/www/kevin/.bash_历史
信息,可能会暴露kevin太多的私人信息。)
要允许kevin进入/var/www/kevin/
,kevin需要能够进入/var/www
——但他不一定需要查看/var/www
的内容:
root:root 755 /var
root:root 751 /var/www
kevin:kevin 755 /var/www/kevin
other:www 750 /var/www/other
priv:www 750 /var/www/private
如果您的Web服务器与组或补充组
www
一起运行,它将能够遍历并读取所有这些目录。凯文不能。(假设凯文不在小组或补充小组www
)凯文可以cd/var/www
,如果凯文猜到/var/www/other
或/var/www/private
,他可以确定它们存在,但他实际上无法输入目录或列出它们的内容。这可能更适合于
也就是说,在每次查询后备份数据库听起来像是一个可怕的性能食谱,可能没有真正的好处。配置或修改您的应用程序以将审核日志发送到另一台计算机可能更容易实现
您可以将标准配置为只允许kevin在/var/www/kevin
中编写。限制kevin可以运行的程序可能需要像、或这样的工具。这些工具中的任何一个都可以防止用户执行不受信任的程序,或者在标准Unix权限之上提供额外的安全层
我已经在AppArmor上工作了十多年了,这将是我在这项工作中首先选择的工具,但其他工具都非常优秀,可能更适合您的环境。(可能已经预装了AppArmor。请检查aa状态(8)
输出以查看:
但首先要确保您的Unix权限是正确的——可能是老生常谈,但它们非常棒
更新
但是,当“kevin”登录到SSH时,他会自动进入目录
/var/www/kevin/
(并且不能进入/var/www/
或下面的目录),我该怎么做呢
您可以将cd/var/www/kevin
命令添加到kevin的~/.bash_profile
或~/.profile
文件中。这可能是恼人的,而不是有用的。(我不建议将kevin的主目录(在/etc/passwd
中)设置为/var/www/kevin
,因为这样会存储~/.bash_历史
和~/.ssh/*
中的/var/www/kevin/.bash_历史
信息,可能会暴露kevin太多的私人信息。)
要允许kevin进入/var/www/kevin/
,kevin需要能够进入/var/www
——但他不一定需要查看/var/www
的内容:
root:root 755 /var
root:root 751 /var/www
kevin:kevin 755 /var/www/kevin
other:www 750 /var/www/other
priv:www 750 /var/www/private
如果您的Web服务器与组或补充组
www
一起运行,它将能够遍历并读取所有这些目录。凯文不能。(假设凯文不在小组或补充小组www
)凯文可以cd/var/www
,如果凯文猜测/var/www/other
或/var/www/private
,他可以确定他们存在,但是他实际上不能输入目录或列出目录的内容。但是当“kevin”登录SSH时,我如何才能做到这一点,他会自动转到directy“var/www/kevin/”(并且不能转到/var/www/或下面的目录)?但是当“kevin”登录SSH时,我如何做到这一点,他会自动转到directy“var/www/kevin/”(并且不能转到下面的/var/www/或目录)?