• bitchkat@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    ·
    5 hours ago

    Had an idiot “fix” a permission problem by running “sudo chmod -R 777 /”

    And that is why sudo privileges were removed for the vast majority of people.

    • bigbuckalex@lemmy.zip
      link
      fedilink
      arrow-up
      6
      ·
      2 hours ago

      Oh… That sounds like a nightmare. How do you even fix that? There’s no “revert the entire filesystem’s permissions to default” button that I’m aware of

      • justme@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        1
        ·
        1 hour ago

        If you are lucky your system is atomic or has other roll back feature. Otherwise it’s reinstall time.

        I guess you could set up a fresh system, run a script that goes through each folder checking the permission and setting it on the target system.

  • xia@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    22
    ·
    10 hours ago

    Getting flashbacks of me trying to explain to a mac user why using sudo “to make it work” is why he had a growing problem of needing to use sudo… (more and more files owned by root in his home folder).

  • Sixty@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    21
    ·
    13 hours ago

    sudo dolphin

    Then I act like a Windows user and go there via the GUI because I didn’t feel like learning how to use nano.

    • bishbosh@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      11 hours ago

      If you’re running dolphin as sudo and open like a text file in an editor, does it edit the file with sudo?

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        10 hours ago

        When you run a process under sudo, it will be running as the root user. Processes that that process launches will also be running as the root user; new processes run as the same user as their parent process.

        So internally, no, it won’t result in another invocation of sudo. But those processes a dolphin process running as root starts will be running as the root user, same as if you had individually invoked them via sudo.

  • GreenKnight23@lemmy.world
    link
    fedilink
    arrow-up
    41
    ·
    edit-2
    15 hours ago

    why tho?

    If it’s a file I have to modify once why would I run:

    sudo chmod 774 file.conf

    sudo chown myuser:myuser file.conf

    vi file.conf

    sudo chown root:root file.conf

    sudo chmod 644 file.conf

    instead of:

    sudo vi file.conf

    1000001464

    • Korthrun@lemmy.sdf.org
      link
      fedilink
      arrow-up
      19
      ·
      edit-2
      12 hours ago

      Inane. Intentionally convoluted, or someone following the absolute worst tutorials without bothering to understand anything about what they’re reading.

      I have questions:

      • Why are your configurations world readable?
      • Why are you setting the executable bit on a .conf file?
      • Why change the files group alongside the owner when you’ve just given the owner rxw and you’re going to set it back?
      • If it was 644 before, why 774?
      • Why even change the mode if you’re going to change the ownership?
      • Why do you want roots vimrc instead of your users
      • Why do you hate sudoedit
      • Why go out of your way to make this appear more convoluted than it actually is?

      Even jokey comments can lead to people copying bad habits if it’s not clear they’re jokes.

      This was a joke right? I was baited by your trolling?

      • bitchkat@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        5 hours ago

        Back in the olden days we used to nfs mount every other machines file system on every machine. I was root and ran “rm -rf /" instead of "./”.

        After I realized that it was taking too long, i realized my error.

        Now for the fun part. In those days nfs passed root privileges to the remote file system. I took out 2.5 machines before I killed it.

        • baines@lemmy.cafe
          link
          fedilink
          English
          arrow-up
          1
          ·
          12 minutes ago

          I did this in a cleanup script in a make file with an undefined path that turned the pointed dir to root after a hardware change

          thank rngesus I was in a user account with limited privileges

    • hddsx@lemmy.ca
      link
      fedilink
      arrow-up
      12
      ·
      16 hours ago

      You won’t be able to do certain things. Either .ssh or ~ expects certain exact permissions and pukes if it’s different, IIRC

      • Cethin@lemmy.zip
        link
        fedilink
        English
        arrow-up
        7
        ·
        9 hours ago

        Yep. I fucked up once when I meant to type chmod for something but with “./” but I missed the “.”. It was not good.

  • hddsx@lemmy.ca
    link
    fedilink
    arrow-up
    26
    ·
    17 hours ago

    Sorry, user babe is not in the sudoers file. This incident will be reported

  • Korthrun@lemmy.sdf.org
    link
    fedilink
    arrow-up
    29
    ·
    edit-2
    17 hours ago

    You mean sudoedit right? Right?

    edit: While there’s a little bit of attention on this I also want to beg you to stop doing sudo su - and start doing sudo -i you know who you are <3

    • Albbi@lemmy.ca
      link
      fedilink
      arrow-up
      10
      ·
      18 hours ago

      Why memorize a different command? I assume sudoedit just looks up the system’s EDITOR environment variable and uses that. Is there any other benefit?

      • bitchkat@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        I believe sudoedit disables being able to spawn commands from the editor. In vi, I think it was :!<command>

      • Arthur Besse@lemmy.ml
        link
        fedilink
        English
        arrow-up
        30
        ·
        18 hours ago

        Why memorize a different command? I assume sudoedit just looks up the system’s EDITOR environment variable and uses that. Is there any other benefit?

        I don’t use it, but, sudoedit is a little more complicated than that.

        details

        from man sudo:

        When invoked as sudoedit, the -e option (described below), is implied.
        
               -e, --edit
                       Edit one or more files instead of running a command.   In  lieu
                       of  a  path name, the string "sudoedit" is used when consulting
                       the security policy.  If the user is authorized by the  policy,
                       the following steps are taken:
        
                       1.   Temporary  copies  are made of the files to be edited with
                            the owner set to the invoking user.
        
                       2.   The editor specified by the policy is run to edit the tem‐
                            porary files.  The sudoers policy  uses  the  SUDO_EDITOR,
                            VISUAL  and  EDITOR environment variables (in that order).
                            If none of SUDO_EDITOR, VISUAL  or  EDITOR  are  set,  the
                            first  program  listed  in the editor sudoers(5) option is
                            used.
        
                       3.   If they have been modified, the temporary files are copied
                            back to their original location and the temporary versions
                            are removed.
        
                       To help prevent the editing of unauthorized files, the  follow‐
                       ing  restrictions are enforced unless explicitly allowed by the
                       security policy:
        
                        •  Symbolic links  may  not  be  edited  (version  1.8.15  and
                           higher).
        
                        •  Symbolic links along the path to be edited are not followed
                           when  the parent directory is writable by the invoking user
                           unless that user is root (version 1.8.16 and higher).
        
                        •  Files located in a directory that is writable by the invok‐
                           ing user may not be edited unless that user is  root  (ver‐
                           sion 1.8.16 and higher).
        
                       Users are never allowed to edit device special files.
        
                       If  the specified file does not exist, it will be created.  Un‐
                       like most commands run by sudo, the editor is run with the  in‐
                       voking  user's  environment  unmodified.  If the temporary file
                       becomes empty after editing, the user will be  prompted  before
                       it is installed.  If, for some reason, sudo is unable to update
                       a file with its edited version, the user will receive a warning
                       and the edited copy will remain in a temporary file.
        

        tldr: it makes a copy of the file-to-be-edited in a temp directory, owned by you, and then runs your $EDITOR as your normal user (so, with your normal editor config)

        note that sudo also includes a similar command which is specifically for editing /etc/sudoers, called visudo 🤪

        • Flyswat@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          16
          ·
          18 hours ago

          visudo is a life-saver since it adds some checks to prevent you from breaking your sudo configuration and locking you out of your system.

      • morbidcactus@lemmy.ca
        link
        fedilink
        arrow-up
        6
        ·
        15 hours ago

        From the arch wiki

        sudo -e {file}
        

        Set SUDO_EDITOR in your profile to the editor of your choice, benefit is it retains your user profile for that editor, it’s also less to type. For stuff like editing sudoers you’re supposed to use visudo to edit that. Others can probably give better/more thorough reasons to consider it.

      • moonlight@fedia.io
        link
        fedilink
        arrow-up
        11
        ·
        18 hours ago

        It doesn’t edit the file directly, it creates a temp file that replaces the file when saving. It means that the editor is run as the user, not as root.

        • Albbi@lemmy.ca
          link
          fedilink
          arrow-up
          3
          ·
          18 hours ago

          So it opens the file in your editor, since you have read access to it. Then saves your changes to a temp file. Then when you close the editor it does a sudo mv tmpfile readfile?

          I checked this by checking the file ownership when running touch myself. The file is owned by root. sudo nano myself also creates a file owned by root. sudoedit myself bitches at me not to run it in a writable directory.

          sudoedit: myself: editing files in a writable directory is not permitted

          So I ran it in a non-writable directory and the resulting file is still owned by root.

          So is the advantage of sudoedit preventing a possible escalation of privileges situation?

          • Russ@bitforged.space
            link
            fedilink
            English
            arrow-up
            6
            ·
            15 hours ago

            For me personally the advantage is that since the editor is opened by your user, it has all of the same config that I’m used to (such as my souped up Neovim config).

            Whereas if you sudo nvim /path/to/file then the editor is opened as root and you don’t have the same configuration.

            • gi1242@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              13 hours ago

              I just make /root/.config/nvim a symlink to ~/.config/nvim and running nvim as root gives me all the same settings I’m used to. (I’d rather not run nvim-qt as root though, so in that case sudoedit is useful.)

      • sanderium@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        18 hours ago

        Correct but it uses the SUDO_EDITOR environment variable. The benefit is more security while editing system files, it creates a temporary file and when you finish it writes changes to the original. There is more to it but that is all I know, it prevents some exploits.