What does the “ep” capability mean?Unable to set capability CAP_SETFCAP by userWhat does this iptable rule mean?Granting service specific capabilitiesWhat does :source % mean?Does every syscall require at most 1 capability on Linux?Better use ACL or Capability to let users start a service?Does a process that have the root user always have all of the capabilities available in Linux?Does macOS and Solaris have “capabilities”?Difference between file capability and process capabilityWhat does the '.' (dot) mean?

How do I, as a DM, handle a party that decides to set up an ambush in a dungeon?

Can a player choose to add detail and flavor to their character's spells and abilities?

How can I finally understand the confusing modal verb "мочь"?

What does のそ mean on this picture?

How important are good looking people in a novel/story?

Gerrymandering Puzzle - Rig the Election

Playing Doublets with the Primes

What would happen if I combined this polymer and this metal (assuming I can)

Old story about a creature laying pyramid shaped eggs on Mars

What is more safe for browsing the web: PC or smartphone?

Efficient deletion of specific list entries

Why is the blank symbol not considered part of the input alphabet of a Turing machine?

What is the thing used to help pouring liquids called?

TIP120 Transistor + Solenoid Failing Randomly

What's the 2-minute timer on mobile Deutsche Bahn tickets?

A 2-connected graph contains a path passing through all the odd degree vertices

Has the United States ever had a non-Christian President?

Transistor gain, what if there is not enough current?

How to use awk to extract data from a file based on the content of another file?

How is trade in services conducted under the WTO in the absence of the Doha conclusion?

Does Thanos's ship land in the middle of the battlefield in "Avengers: Endgame"?

Two denim hijabs

Why doesn't a particle exert force on itself?

In "Avengers: Endgame", what does this name refer to?



What does the “ep” capability mean?


Unable to set capability CAP_SETFCAP by userWhat does this iptable rule mean?Granting service specific capabilitiesWhat does :source % mean?Does every syscall require at most 1 capability on Linux?Better use ACL or Capability to let users start a service?Does a process that have the root user always have all of the capabilities available in Linux?Does macOS and Solaris have “capabilities”?Difference between file capability and process capabilityWhat does the '.' (dot) mean?






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








4















root@macine:~# getcap ./some_bin
./some_bin =ep


What does "ep" mean? What are the capabilities of this binary?










share|improve this question



















  • 4





    capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

    – mosvy
    Apr 27 at 16:36











  • vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

    – Jesse_b
    Apr 27 at 16:43











  • @Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

    – mosvy
    Apr 27 at 20:41












  • @mosvy: Dew hwat?

    – Jesse_b
    Apr 27 at 20:58

















4















root@macine:~# getcap ./some_bin
./some_bin =ep


What does "ep" mean? What are the capabilities of this binary?










share|improve this question



















  • 4





    capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

    – mosvy
    Apr 27 at 16:36











  • vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

    – Jesse_b
    Apr 27 at 16:43











  • @Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

    – mosvy
    Apr 27 at 20:41












  • @mosvy: Dew hwat?

    – Jesse_b
    Apr 27 at 20:58













4












4








4








root@macine:~# getcap ./some_bin
./some_bin =ep


What does "ep" mean? What are the capabilities of this binary?










share|improve this question
















root@macine:~# getcap ./some_bin
./some_bin =ep


What does "ep" mean? What are the capabilities of this binary?







linux capabilities






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 27 at 18:44









muru

38.2k591166




38.2k591166










asked Apr 27 at 16:16









JamesJames

263




263







  • 4





    capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

    – mosvy
    Apr 27 at 16:36











  • vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

    – Jesse_b
    Apr 27 at 16:43











  • @Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

    – mosvy
    Apr 27 at 20:41












  • @mosvy: Dew hwat?

    – Jesse_b
    Apr 27 at 20:58












  • 4





    capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

    – mosvy
    Apr 27 at 16:36











  • vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

    – Jesse_b
    Apr 27 at 16:43











  • @Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

    – mosvy
    Apr 27 at 20:41












  • @mosvy: Dew hwat?

    – Jesse_b
    Apr 27 at 20:58







4




4





capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

– mosvy
Apr 27 at 16:36





capabilities(7) have nothing to do with selinux. That file has all possible capabilities set.

– mosvy
Apr 27 at 16:36













vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

– Jesse_b
Apr 27 at 16:43





vulp3cula.gitbook.io/hackers-grimoire/post-exploitation/…

– Jesse_b
Apr 27 at 16:43













@Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

– mosvy
Apr 27 at 20:41






@Jesse_b that's wrong, there's no "special case" of empty capabilities. That guy was simply confused by the syntax. setcap =ep file will turn all capabilities on, setcap = file will turn them all off (make them empty) and setcap -r file will remove them completely.

– mosvy
Apr 27 at 20:41














@mosvy: Dew hwat?

– Jesse_b
Apr 27 at 20:58





@mosvy: Dew hwat?

– Jesse_b
Apr 27 at 20:58










2 Answers
2






active

oldest

votes


















8















# getcap ./some_bin
./some_bin =ep



That binary has ALL the capabilites permitted (p) and effective (e) from the start.



In the textual representation of capabilities, a leading = is equivalent to all=.
From the cap_to_text(3) manpage:




In the case that the leading operator is =, and no list of capabilities is provided, the action-list is assumed to refer to all capabilities. For example, the following three clauses are equivalent to each
other (and indicate a completely empty capability set): all=; =;
cap_chown,<every-other-capability>=.




Such a binary can do whatever it pleases, limited only by the capability bounding set, which on a typical desktop system includes everything (otherwise setuid binaries like su wouldn't work as expected).



Notice that this is only a "gotcha" of the textual representation used by libpcap: in the security.capability extended attribute of the file for which getcap will print /file/path =ep, all the meaningful bits are effectively on; for an empty security.capability, /file/path = (with the = not followed by anything) will be printed instead.




If someone is still not convinced about all that, here is a small experiment:



# cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
# su user -c '/tmp/ping localhost'
ping: socket: Operation not permitted
# setcap =ep /tmp/ping
# su user -c '/tmp/ping localhost' # will work because of cap_net_raw
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
^C
# setcap = /tmp/ping
# su user -c '/tmp/ping localhost'
ping: socket: Operation not permitted





share|improve this answer
































    4














    The capabilities are put in the permitted set (p), and all permitted capabilities are copied into the effective set (e). There does not seem to be any capabilities in your example (where did you get it from?).



    The e is used for legacy programs (possibly most programs at the current time), that is programs that don't know about capabilities, so can not them-selves copy capabilities from permitted to effective.






    share|improve this answer























      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      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: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      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/3.0/"u003ecc by-sa 3.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%2funix.stackexchange.com%2fquestions%2f515881%2fwhat-does-the-ep-capability-mean%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      8















      # getcap ./some_bin
      ./some_bin =ep



      That binary has ALL the capabilites permitted (p) and effective (e) from the start.



      In the textual representation of capabilities, a leading = is equivalent to all=.
      From the cap_to_text(3) manpage:




      In the case that the leading operator is =, and no list of capabilities is provided, the action-list is assumed to refer to all capabilities. For example, the following three clauses are equivalent to each
      other (and indicate a completely empty capability set): all=; =;
      cap_chown,<every-other-capability>=.




      Such a binary can do whatever it pleases, limited only by the capability bounding set, which on a typical desktop system includes everything (otherwise setuid binaries like su wouldn't work as expected).



      Notice that this is only a "gotcha" of the textual representation used by libpcap: in the security.capability extended attribute of the file for which getcap will print /file/path =ep, all the meaningful bits are effectively on; for an empty security.capability, /file/path = (with the = not followed by anything) will be printed instead.




      If someone is still not convinced about all that, here is a small experiment:



      # cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
      # su user -c '/tmp/ping localhost'
      ping: socket: Operation not permitted
      # setcap =ep /tmp/ping
      # su user -c '/tmp/ping localhost' # will work because of cap_net_raw
      PING localhost(localhost (::1)) 56 data bytes
      64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
      ^C
      # setcap = /tmp/ping
      # su user -c '/tmp/ping localhost'
      ping: socket: Operation not permitted





      share|improve this answer





























        8















        # getcap ./some_bin
        ./some_bin =ep



        That binary has ALL the capabilites permitted (p) and effective (e) from the start.



        In the textual representation of capabilities, a leading = is equivalent to all=.
        From the cap_to_text(3) manpage:




        In the case that the leading operator is =, and no list of capabilities is provided, the action-list is assumed to refer to all capabilities. For example, the following three clauses are equivalent to each
        other (and indicate a completely empty capability set): all=; =;
        cap_chown,<every-other-capability>=.




        Such a binary can do whatever it pleases, limited only by the capability bounding set, which on a typical desktop system includes everything (otherwise setuid binaries like su wouldn't work as expected).



        Notice that this is only a "gotcha" of the textual representation used by libpcap: in the security.capability extended attribute of the file for which getcap will print /file/path =ep, all the meaningful bits are effectively on; for an empty security.capability, /file/path = (with the = not followed by anything) will be printed instead.




        If someone is still not convinced about all that, here is a small experiment:



        # cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
        # su user -c '/tmp/ping localhost'
        ping: socket: Operation not permitted
        # setcap =ep /tmp/ping
        # su user -c '/tmp/ping localhost' # will work because of cap_net_raw
        PING localhost(localhost (::1)) 56 data bytes
        64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
        ^C
        # setcap = /tmp/ping
        # su user -c '/tmp/ping localhost'
        ping: socket: Operation not permitted





        share|improve this answer



























          8












          8








          8








          # getcap ./some_bin
          ./some_bin =ep



          That binary has ALL the capabilites permitted (p) and effective (e) from the start.



          In the textual representation of capabilities, a leading = is equivalent to all=.
          From the cap_to_text(3) manpage:




          In the case that the leading operator is =, and no list of capabilities is provided, the action-list is assumed to refer to all capabilities. For example, the following three clauses are equivalent to each
          other (and indicate a completely empty capability set): all=; =;
          cap_chown,<every-other-capability>=.




          Such a binary can do whatever it pleases, limited only by the capability bounding set, which on a typical desktop system includes everything (otherwise setuid binaries like su wouldn't work as expected).



          Notice that this is only a "gotcha" of the textual representation used by libpcap: in the security.capability extended attribute of the file for which getcap will print /file/path =ep, all the meaningful bits are effectively on; for an empty security.capability, /file/path = (with the = not followed by anything) will be printed instead.




          If someone is still not convinced about all that, here is a small experiment:



          # cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
          # su user -c '/tmp/ping localhost'
          ping: socket: Operation not permitted
          # setcap =ep /tmp/ping
          # su user -c '/tmp/ping localhost' # will work because of cap_net_raw
          PING localhost(localhost (::1)) 56 data bytes
          64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
          ^C
          # setcap = /tmp/ping
          # su user -c '/tmp/ping localhost'
          ping: socket: Operation not permitted





          share|improve this answer
















          # getcap ./some_bin
          ./some_bin =ep



          That binary has ALL the capabilites permitted (p) and effective (e) from the start.



          In the textual representation of capabilities, a leading = is equivalent to all=.
          From the cap_to_text(3) manpage:




          In the case that the leading operator is =, and no list of capabilities is provided, the action-list is assumed to refer to all capabilities. For example, the following three clauses are equivalent to each
          other (and indicate a completely empty capability set): all=; =;
          cap_chown,<every-other-capability>=.




          Such a binary can do whatever it pleases, limited only by the capability bounding set, which on a typical desktop system includes everything (otherwise setuid binaries like su wouldn't work as expected).



          Notice that this is only a "gotcha" of the textual representation used by libpcap: in the security.capability extended attribute of the file for which getcap will print /file/path =ep, all the meaningful bits are effectively on; for an empty security.capability, /file/path = (with the = not followed by anything) will be printed instead.




          If someone is still not convinced about all that, here is a small experiment:



          # cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
          # su user -c '/tmp/ping localhost'
          ping: socket: Operation not permitted
          # setcap =ep /tmp/ping
          # su user -c '/tmp/ping localhost' # will work because of cap_net_raw
          PING localhost(localhost (::1)) 56 data bytes
          64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
          ^C
          # setcap = /tmp/ping
          # su user -c '/tmp/ping localhost'
          ping: socket: Operation not permitted






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 28 at 12:21

























          answered Apr 27 at 17:09









          mosvymosvy

          11.2k11340




          11.2k11340























              4














              The capabilities are put in the permitted set (p), and all permitted capabilities are copied into the effective set (e). There does not seem to be any capabilities in your example (where did you get it from?).



              The e is used for legacy programs (possibly most programs at the current time), that is programs that don't know about capabilities, so can not them-selves copy capabilities from permitted to effective.






              share|improve this answer



























                4














                The capabilities are put in the permitted set (p), and all permitted capabilities are copied into the effective set (e). There does not seem to be any capabilities in your example (where did you get it from?).



                The e is used for legacy programs (possibly most programs at the current time), that is programs that don't know about capabilities, so can not them-selves copy capabilities from permitted to effective.






                share|improve this answer

























                  4












                  4








                  4







                  The capabilities are put in the permitted set (p), and all permitted capabilities are copied into the effective set (e). There does not seem to be any capabilities in your example (where did you get it from?).



                  The e is used for legacy programs (possibly most programs at the current time), that is programs that don't know about capabilities, so can not them-selves copy capabilities from permitted to effective.






                  share|improve this answer













                  The capabilities are put in the permitted set (p), and all permitted capabilities are copied into the effective set (e). There does not seem to be any capabilities in your example (where did you get it from?).



                  The e is used for legacy programs (possibly most programs at the current time), that is programs that don't know about capabilities, so can not them-selves copy capabilities from permitted to effective.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 27 at 16:48









                  ctrl-alt-delorctrl-alt-delor

                  12.9k52663




                  12.9k52663



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Unix & Linux Stack Exchange!


                      • 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%2funix.stackexchange.com%2fquestions%2f515881%2fwhat-does-the-ep-capability-mean%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

                      Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

                      Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

                      What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company