fix premission
This commit is contained in:
@@ -156,7 +156,9 @@ def file_tree():
|
|||||||
if not path:
|
if not path:
|
||||||
return jsonify({"error": "Missing path parameter"}), 400
|
return jsonify({"error": "Missing path parameter"}), 400
|
||||||
root_workspace_path = current_app.config['ROOT_WORKSPACE_PATH']
|
root_workspace_path = current_app.config['ROOT_WORKSPACE_PATH']
|
||||||
base_path = f'{root_workspace_path}/{user_id}/{path}'
|
base_path = os.path.join(root_workspace_path, user_id, path)
|
||||||
|
|
||||||
|
print(base_path)
|
||||||
if not os.path.exists(base_path):
|
if not os.path.exists(base_path):
|
||||||
return jsonify({"error": "Workspace not found"}), 404
|
return jsonify({"error": "Workspace not found"}), 404
|
||||||
tree = get_file_tree(base_path)
|
tree = get_file_tree(base_path)
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ def vsc_like(user_uuid, user_id, course_id, chapter_name, lesson_name):
|
|||||||
print(f"Directory {path} created successfully for user {user_id}")
|
print(f"Directory {path} created successfully for user {user_id}")
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print(f"Error creating directory {path} details {str(e)}")
|
print(f"Error creating directory {path} details {str(e)}")
|
||||||
|
|
||||||
try:#使用sudo创建shared_group
|
try:#使用sudo创建shared_group
|
||||||
subprocess.run(["sudo", "groupadd", f"shared_group_{user_id}"], check=True)
|
subprocess.run(["sudo", "groupadd", f"shared_group_{user_id}"], check=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
@@ -45,13 +44,11 @@ def vsc_like(user_uuid, user_id, course_id, chapter_name, lesson_name):
|
|||||||
subprocess.run(["sudo", "usermod", "-a", "-G", f"shared_group_{user_id}", 'flask'], check=True)
|
subprocess.run(["sudo", "usermod", "-a", "-G", f"shared_group_{user_id}", 'flask'], check=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print(f"Error adding user {user_id} to shared_group: {e}")
|
print(f"Error adding user {user_id} to shared_group: {e}")
|
||||||
|
|
||||||
try:#将文件
|
try:#将文件
|
||||||
subprocess.run(["sudo", "chown", "-R", f"{user_id}:shared_group_{user_id}", path], check=True)
|
subprocess.run(["sudo", "chown", "-R", f"flask:shared_group_{user_id}", path], check=True)
|
||||||
subprocess.run(["sudo", "chmod", "-R", "770", path], check=True)
|
subprocess.run(["sudo", "chmod", "-R", "770", path], check=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print(f"Error changing directory {path} to shared_group_{user_id}: {e}")
|
print(f"Error changing directory {path} to shared_group_{user_id}: {e}")
|
||||||
|
|
||||||
try:#继承目录
|
try:#继承目录
|
||||||
subprocess.run(["sudo", "chmod", "g+s", path], check=True)
|
subprocess.run(["sudo", "chmod", "g+s", path], check=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user