当我将django项目部署到centos时,我无法通过URL访问它。
从django admin上传的媒体文件属于用户和组nobody:nobody
。
当我将所有权更改为我的用户时,可以访问它。如何在不明确指定chmod
的情况下允许访问这些文件?
答案 0 :(得分:1)
您可以使用ACL权限访问控制列表。 使用此方法,您可以定义将在文件夹中创建的内容的默认所有者和权限。
在CentOS上,您可以使用以下命令安装它:
yum install acl
安装完成后,命令 getfacl 将返回特定文件的acl设置:
getfacl /path/to/your/folder
命令 setfacl 将设置访问权限。 要设置默认权限:
setfacl -Rm d:u:username:rwx,g:groupname:rwx /path/to/your/folder
此文件夹中创建的内容将继承默认ACL。
答案 1 :(得分:0)
运行将显示文件所有者的MongoReadData_ResponseTEST<RocketResponse>(Mongo_ListOfFieldsToDisplay_RocketResponse, "RocketResponse", "RocketResponseId");
MongoReadData_ResponseTEST<RocketRequest>(Mongo_ListOfFieldsToDisplay_RocketRequest, "RocketRequest", "RocketRequestId");
public static int MongoReadData_ResponseTEST<T>(string[] MongoListOfFieldsToDisplay, string CollectionName, string PKToSearchOn) where T : class, new()
{
int CountRecords = 0;
// create connection TO MongoDB
MongoClient MongoClientConn = new MongoDatabaseConnection().mongoConn();
var MongoDB = MongoClientConn.GetDatabase("Viper");
var collection = MongoDB.GetCollection<T>(CollectionName);
var filter = Builders<T>.Filter.Eq(PKToSearchOn, 4);
//var filter = Builders<RocketRequest>.Filter.Empty;
var result = collection.Find(filter).ToListAsync().Result;
// do here so it is after the filtering
CountRecords = Convert.ToInt32(collection.Find(filter).Count());
return CountRecords;
}// end MongoReadData
。运行此命令以便从外部到达。
ls -la