【问题标题】:Ubuntu Webserver PermissionsUbuntu 网络服务器权限
【发布时间】:2011-07-31 12:34:00
【问题描述】:

现在我已经购买了一个 Ubuntu 云服务器。我今天早上安装了 Webmin,现在我有一个问题。是否可以创建只能使用一个目录的用户,SVN、FTP、PHP、Python、MySQL、Apache?例如,用户 Kevin 只能使用 /var/www/kevin/?哦,目录创建后,SVN 结帐应该填满目录。管理所有数据库的最佳方法是什么?很多人都会使用数据库,那么我怎样才能保证它的安全呢?是否可以在每次执行查询时备份数据库?

非常感谢,

问候, 凯文

【问题讨论】:

    标签: database security ubuntu permissions backup


    【解决方案1】:

    这可能更适合https://askubuntu.com/

    也就是说,在每次查询后备份数据库听起来像是一个糟糕的性能秘诀,而且可能没有真正的好处。配置或修改您的应用程序以将审核日志发送到另一台机器可能更容易实现。

    您可以配置您的标准 Unix permissions 以允许 kevin 仅在 /var/www/kevin 中写入。限制 kevin 可以运行的程序可能需要一个更像 AppArmorSElinuxTOMOYOSMACK 的工具。这些mandatory access control 工具中的任何一个都可以防止用户执行不受信任的程序,或者在标准 Unix 权限之上提供额外的安全层。

    我已经在 AppArmor 上工作了十多年,这将是我为这项工作首先选择的工具,但其他工具非常出色,可能更适合您的环境。 (AppArmor 可能已经预装。检查aa-status(8) 输出以查看。:)

    但首先要确保您的 Unix 权限是正确的——它们可能是老派,但它们非常棒。

    更新

    但是,当“kevin”登录 SSH 时,我怎样才能做到这一点,他会自动转到目录 /var/www/kevin/(并且不能转到 /var/www/ 或下面的目录)?

    您可以将cd /var/www/kevin 命令添加到kevin 的~/.bash_profile~/.profile 文件中。这可能比有用更烦人。 (我不建议将 kevin 的主目录(在 /etc/passwd 中)设置为 /var/www/kevin,因为这会将 ~/.bash_history~/.ssh/* 信息存储在 /var/www/kevin/.bash_history/var/www/kevin/.ssh/ 中,可能会暴露 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
    

    如果您的网络服务器与组或补充组www 一起运行,它将能够遍历和读取所有这些目录。凯文不能。 (假设 kevin 不在 组或补充组 www。)Kevin 可以 cd /var/www,如果 kevin 猜测 /var/www/other/var/www/private,他可以确定它们存在,但他不能真正进入目录或列出它们的内容。

    【讨论】:

    • 但是当'kevin'登录SSH时,我怎样才能做到这一点,他会自动转到directy 'var/www/kevin/'(并且不能转到/var/www/或下面的目录)?
    猜你喜欢
    • 1970-01-01
    • 2018-12-11
    • 2017-08-04
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 2011-04-13
    • 2012-07-04
    相关资源
    最近更新 更多