'chmod -644' would set file permission to 000





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{
margin-bottom:0;
}








12

















I had a file with 644(-rw-r--r--) and wanted to change it to 664(-rw-rw-r--), after running:



sudo chmod -664 my_file


file permissions were set to 000(----------).



Trying to change the permissions to anything different than 000 seems to be not working. What am I missing here?










share|improve this question
























  • 11





    Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

    – Soren A
    May 28 at 12:46


















12

















I had a file with 644(-rw-r--r--) and wanted to change it to 664(-rw-rw-r--), after running:



sudo chmod -664 my_file


file permissions were set to 000(----------).



Trying to change the permissions to anything different than 000 seems to be not working. What am I missing here?










share|improve this question
























  • 11





    Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

    – Soren A
    May 28 at 12:46














12












12








12


1






I had a file with 644(-rw-r--r--) and wanted to change it to 664(-rw-rw-r--), after running:



sudo chmod -664 my_file


file permissions were set to 000(----------).



Trying to change the permissions to anything different than 000 seems to be not working. What am I missing here?










share|improve this question

















I had a file with 644(-rw-r--r--) and wanted to change it to 664(-rw-rw-r--), after running:



sudo chmod -664 my_file


file permissions were set to 000(----------).



Trying to change the permissions to anything different than 000 seems to be not working. What am I missing here?







command-line permissions chmod






share|improve this question
















share|improve this question













share|improve this question




share|improve this question








edited May 30 at 5:15









Monty Harder

2961 silver badge6 bronze badges




2961 silver badge6 bronze badges










asked May 28 at 12:44









illgoforitillgoforit

637 bronze badges




637 bronze badges











  • 11





    Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

    – Soren A
    May 28 at 12:46














  • 11





    Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

    – Soren A
    May 28 at 12:46








11




11





Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

– Soren A
May 28 at 12:46





Why do you have a - in front of 644 ? Try sudo chmod 644 my_file. -644 will remove the rights.

– Soren A
May 28 at 12:46










1 Answer
1






active

oldest

votes


















34


















You are using -664, just use 664 instead. And never use sudo when you dont need to. If that's your file, you don't need sudo:



chmod 644 my_file


When you run chmod with a - before the mode, you will remove that mode. See man chmod (emphasis mine):




The operator + causes the selected file mode bits to be added to
the existing file mode bits of each file; - causes them to be
removed
; and = causes them to be added and causes unmentioned bits
to be removed except that a directory's unmentioned set user and
group ID bits are not affected.




The numbers are:




  • 1: execute

  • 2: write

  • 4: read


So a file with 777 permissions means everyone has the right to do all three, since 1 + 2 + 4 = 7, and therefore setting the permissions to 7 means allowing read, write and execute.



If you start with a file whose mode is 777:



$ ls -l my_file 
-rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file


And now run chmod -644, you will remove the bits 644, and end up with a file whose mode is 133:



$ chmod -644 my_file; ls -l my_file 
---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file


That's because you removed 6 (read (4) + write (2)) from the owner's permissions, leaving only 1 (execute) set, and 4 (read) from the group and other permissions. The result is a file with only execute (1) permissions for the owner, and write and execute (you unset 4, leaving 1 and 3) permissions for the rest.



Because your file presumably had the default permissions for new files, so 644, when you ran chmod -644 my_file, you removed all of the set permission bits and got a file with no permissions for anybody.



$ ls -l my_file 
-rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
$ chmod -644 my_file
$ ls -l my_file
---------- 1 terdon terdon 0 May 28 13:45 my_file





share|improve this answer






























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });















    draft saved

    draft discarded
















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1146834%2fchmod-644-would-set-file-permission-to-000%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown


























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    34


















    You are using -664, just use 664 instead. And never use sudo when you dont need to. If that's your file, you don't need sudo:



    chmod 644 my_file


    When you run chmod with a - before the mode, you will remove that mode. See man chmod (emphasis mine):




    The operator + causes the selected file mode bits to be added to
    the existing file mode bits of each file; - causes them to be
    removed
    ; and = causes them to be added and causes unmentioned bits
    to be removed except that a directory's unmentioned set user and
    group ID bits are not affected.




    The numbers are:




    • 1: execute

    • 2: write

    • 4: read


    So a file with 777 permissions means everyone has the right to do all three, since 1 + 2 + 4 = 7, and therefore setting the permissions to 7 means allowing read, write and execute.



    If you start with a file whose mode is 777:



    $ ls -l my_file 
    -rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file


    And now run chmod -644, you will remove the bits 644, and end up with a file whose mode is 133:



    $ chmod -644 my_file; ls -l my_file 
    ---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file


    That's because you removed 6 (read (4) + write (2)) from the owner's permissions, leaving only 1 (execute) set, and 4 (read) from the group and other permissions. The result is a file with only execute (1) permissions for the owner, and write and execute (you unset 4, leaving 1 and 3) permissions for the rest.



    Because your file presumably had the default permissions for new files, so 644, when you ran chmod -644 my_file, you removed all of the set permission bits and got a file with no permissions for anybody.



    $ ls -l my_file 
    -rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
    $ chmod -644 my_file
    $ ls -l my_file
    ---------- 1 terdon terdon 0 May 28 13:45 my_file





    share|improve this answer

































      34


















      You are using -664, just use 664 instead. And never use sudo when you dont need to. If that's your file, you don't need sudo:



      chmod 644 my_file


      When you run chmod with a - before the mode, you will remove that mode. See man chmod (emphasis mine):




      The operator + causes the selected file mode bits to be added to
      the existing file mode bits of each file; - causes them to be
      removed
      ; and = causes them to be added and causes unmentioned bits
      to be removed except that a directory's unmentioned set user and
      group ID bits are not affected.




      The numbers are:




      • 1: execute

      • 2: write

      • 4: read


      So a file with 777 permissions means everyone has the right to do all three, since 1 + 2 + 4 = 7, and therefore setting the permissions to 7 means allowing read, write and execute.



      If you start with a file whose mode is 777:



      $ ls -l my_file 
      -rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file


      And now run chmod -644, you will remove the bits 644, and end up with a file whose mode is 133:



      $ chmod -644 my_file; ls -l my_file 
      ---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file


      That's because you removed 6 (read (4) + write (2)) from the owner's permissions, leaving only 1 (execute) set, and 4 (read) from the group and other permissions. The result is a file with only execute (1) permissions for the owner, and write and execute (you unset 4, leaving 1 and 3) permissions for the rest.



      Because your file presumably had the default permissions for new files, so 644, when you ran chmod -644 my_file, you removed all of the set permission bits and got a file with no permissions for anybody.



      $ ls -l my_file 
      -rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
      $ chmod -644 my_file
      $ ls -l my_file
      ---------- 1 terdon terdon 0 May 28 13:45 my_file





      share|improve this answer































        34














        34










        34









        You are using -664, just use 664 instead. And never use sudo when you dont need to. If that's your file, you don't need sudo:



        chmod 644 my_file


        When you run chmod with a - before the mode, you will remove that mode. See man chmod (emphasis mine):




        The operator + causes the selected file mode bits to be added to
        the existing file mode bits of each file; - causes them to be
        removed
        ; and = causes them to be added and causes unmentioned bits
        to be removed except that a directory's unmentioned set user and
        group ID bits are not affected.




        The numbers are:




        • 1: execute

        • 2: write

        • 4: read


        So a file with 777 permissions means everyone has the right to do all three, since 1 + 2 + 4 = 7, and therefore setting the permissions to 7 means allowing read, write and execute.



        If you start with a file whose mode is 777:



        $ ls -l my_file 
        -rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file


        And now run chmod -644, you will remove the bits 644, and end up with a file whose mode is 133:



        $ chmod -644 my_file; ls -l my_file 
        ---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file


        That's because you removed 6 (read (4) + write (2)) from the owner's permissions, leaving only 1 (execute) set, and 4 (read) from the group and other permissions. The result is a file with only execute (1) permissions for the owner, and write and execute (you unset 4, leaving 1 and 3) permissions for the rest.



        Because your file presumably had the default permissions for new files, so 644, when you ran chmod -644 my_file, you removed all of the set permission bits and got a file with no permissions for anybody.



        $ ls -l my_file 
        -rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
        $ chmod -644 my_file
        $ ls -l my_file
        ---------- 1 terdon terdon 0 May 28 13:45 my_file





        share|improve this answer
















        You are using -664, just use 664 instead. And never use sudo when you dont need to. If that's your file, you don't need sudo:



        chmod 644 my_file


        When you run chmod with a - before the mode, you will remove that mode. See man chmod (emphasis mine):




        The operator + causes the selected file mode bits to be added to
        the existing file mode bits of each file; - causes them to be
        removed
        ; and = causes them to be added and causes unmentioned bits
        to be removed except that a directory's unmentioned set user and
        group ID bits are not affected.




        The numbers are:




        • 1: execute

        • 2: write

        • 4: read


        So a file with 777 permissions means everyone has the right to do all three, since 1 + 2 + 4 = 7, and therefore setting the permissions to 7 means allowing read, write and execute.



        If you start with a file whose mode is 777:



        $ ls -l my_file 
        -rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file


        And now run chmod -644, you will remove the bits 644, and end up with a file whose mode is 133:



        $ chmod -644 my_file; ls -l my_file 
        ---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file


        That's because you removed 6 (read (4) + write (2)) from the owner's permissions, leaving only 1 (execute) set, and 4 (read) from the group and other permissions. The result is a file with only execute (1) permissions for the owner, and write and execute (you unset 4, leaving 1 and 3) permissions for the rest.



        Because your file presumably had the default permissions for new files, so 644, when you ran chmod -644 my_file, you removed all of the set permission bits and got a file with no permissions for anybody.



        $ ls -l my_file 
        -rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
        $ chmod -644 my_file
        $ ls -l my_file
        ---------- 1 terdon terdon 0 May 28 13:45 my_file






        share|improve this answer















        share|improve this answer




        share|improve this answer








        edited May 30 at 10:40

























        answered May 28 at 12:46









        terdonterdon

        74.7k14 gold badges151 silver badges235 bronze badges




        74.7k14 gold badges151 silver badges235 bronze badges


































            draft saved

            draft discarded



















































            Thanks for contributing an answer to Ask Ubuntu!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1146834%2fchmod-644-would-set-file-permission-to-000%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown









            Popular posts from this blog

            He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

            Bunad

            Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum