Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Linux-存储仅具有用户权限的独立于用户的数据_Python_Linux_Permissions_Permission Denied_Storing Data - Fatal编程技术网

Python Linux-存储仅具有用户权限的独立于用户的数据

Python Linux-存储仅具有用户权限的独立于用户的数据,python,linux,permissions,permission-denied,storing-data,Python,Linux,Permissions,Permission Denied,Storing Data,我设计了一个Python脚本,用于创建SQLite数据库,并需要将其存储在某个地方。此脚本不需要升级权限,但是,它需要将其数据存储在某个位置,以便所有用户都可以访问它,因为数据是独立于用户的(但每个用户都可以更改)/var/lib不起作用,因为它属于root用户,普通用户无法在其中创建或放置某些内容/据我所知,usr/share设计用于存储不变的数据。那么-我应该选择什么?具有升级权限的用户可以在特权位置创建数据库,然后将数据库的文件权限设置为限制性较小的权限。例如: sudo touch /v

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

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

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

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

是的,我知道目录的内容,这正是我要做的。但也许还有另外一个地方?在大多数Linux发行版上,唯一一个不是特定于某个特定用户但所有用户都可以写的地方是
/tmp
(或
/var/tmp
)-你真的不想把数据库之类的东西放在那里。嗯。。。最后,我修改了我的程序,使其在第一次运行时需要root权限,然后创建所需的目录并设置权限,不再需要以root身份运行。非常感谢你,亲爱的弗利特西!;-)