【问题标题】:Linux - storing user-independent data having only user privilegesLinux - 存储仅具有用户权限的用户独立数据
【发布时间】:2013-11-17 03:31:31
【问题描述】:

我设计了一个 Python 脚本,它创建一个 SQLite 数据库并需要将它存储在某个地方。该脚本不需要提升权限,但是,它需要将其数据存储在某个地方,以便所有用户都可以访问它,因为数据是用户独立的(但每个用户都可以更改)。 /var/lib 不这样做,因为它归根用户所有,普通用户无法在其中创建或放置某些内容。据我所知,/usr/share 旨在存储不会更改的数据。那么 - 我该选择什么?

【问题讨论】:

    标签: python linux permissions permission-denied storing-data


    【解决方案1】:

    具有升级权限的用户可以在特权位置创建数据库,然后将数据库的文件权限设置为限制较少的内容。例如:

    sudo touch /var/lib/my_shared_db.sqlite3
    sudo chmod 666 /var/lib/my_shared_db.sqlite3
    

    在此之后,任何用户都可以写信给/var/lib/my_shared_db.sqlite3。 (注意:最好在/var/lib 中创建一个以您的脚本命名的目录,然后将 db 文件放入其中。)

    【讨论】:

    • 是的,我知道目录的东西,而这正是我想要做的。但也许还有其他地方?
    • 在大多数 Linux 发行版上,唯一不特定于特定用户但对所有用户都可写的位置是 /tmp(或 /var/tmp) - 你真的不想把数据库之类的东西放在那里。
    • 嗯...最后我修改了我的程序,使其在第一次运行时需要root权限,然后它创建所需的目录并设置权限,不再需要以root身份运行.非常感谢你,亲爱的小蝶! ;-)
    猜你喜欢
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2015-07-16
    相关资源
    最近更新 更多