public static void AddUser(User user) { users.Add(user); allUsers.Add(user); FSManager.ChangeDirectory("@home"); FSManager.ChangeDirectory(".."); FSManager.AddFolder(user.name, user); FSManager.ChangeDirectory("@home"); }
static void Main(string[] args) { User.Initialize(); CommandManager.SetupCommands(); FSManager.AddFile(new FilePerms { ar = false, aw = false, ax = false, flag = FileFlag.Directory, or = true, os = false, ow = true, ox = false, owner = 0 }, path: $"~/", name: "folder.sys", data: "0"); FSManager.AddFolder("test", User.FetchUserID(0)); FSManager.AddFolder("home", User.FetchUserID(0)); User.AddUser(new User() { perms = { isDisplayedAsAdmin = true, canChangeSystemSettings = true, canDoSudo = true, isRoot = false, canSeeAllUsers = true }, executeUserID = User.GetNextUserID(), groups = { (int)SystemGroups.Admin, (int)SystemGroups.NormalUser, }, name = "admin", userID = User.GetNextUserID(), passwd = "admin" }); //FSManager.ChangeDirectory("test"); //FSManager.GetChildren(); while (true) { Output.Write($"SHELL({User.FetchUserID(User.currentUser).name}) {FSManager.PresentWorkingDirectory()} $ "); string cmd = Console.ReadLine(); CommandManager.FetchCommand(cmd, User.FetchUserID(User.currentUser)); } }
public void Execute(string[] args, User user) { if (args.Length != 2) { Output.WriteError("Invalid arguments!\n"); return; } Output.WriteDebug("Is user owner?: " + (FSManager.CatFile("folder.sys") == user.userID.ToString()).ToString() + "\n"); Output.WriteDebug("OW: " + (FSManager.GetFilePerms("folder.sys").ow == true).ToString() + "\n"); Output.WriteDebug("AW: " + (FSManager.GetFilePerms("folder.sys").aw == true).ToString() + "\n"); Output.WriteDebug("ID: " + user.userID.ToString() + "\n"); Output.WriteDebug("Folder owner: " + FSManager.CatFile("folder.sys") + "\n"); if ((FSManager.CatFile("folder.sys") == user.userID.ToString() && FSManager.GetFilePerms("folder.sys").ow == true) || FSManager.GetFilePerms("folder.sys").aw == true || user == User.FetchUserID(0)) { FSManager.AddFolder(args[1], User.FetchUserID(User.currentUser)); } else { Output.WriteError("You dont have permission to make a folder here!\n"); } }