Пример #1
0
 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");
 }
Пример #2
0
        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));
            }
        }
Пример #3
0
 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");
     }
 }