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?

Packing rectangles: Does rotation ever help?

Interpret a multiple linear regression when Y is log transformed

Combinable filters

What happened to Captain America in Endgame?

How does a program know if stdout is connected to a terminal or a pipe?

What are the potential pitfalls when using metals as a currency?

Is it idiomatic to construct against `this`?

Do I have an "anti-research" personality?

What language was spoken in East Asia before Proto-Turkic?

How to get a plain text file version of a CP/M .BAS (M-BASIC) program?

What was the first Intel x86 processor with "Base + Index * Scale + Displacement" addressing mode?

Is this homebrew Wind Wave spell balanced?

Unexpected email from Yorkshire Bank

How to pronounce 'C++' in Spanish

How did Captain America manage to do this?

How exactly does Hawking radiation decrease the mass of black holes?

Pulling the rope with one hand is as heavy as with two hands?

How to stop co-workers from teasing me because I know Russian?

Binary Numbers Magic Trick

Rivers without rain

how to find the equation of a circle given points of the circle

Don’t seats that recline flat defeat the purpose of having seatbelts?

What is the most expensive material in the world that could be used to create Pun-Pun's lute?

Fizzy, soft, pop and still drinks



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;








3















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


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










share|improve this question









New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 2





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

    – mosvy
    3 hours ago











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

    – Jesse_b
    3 hours ago

















3















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


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










share|improve this question









New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 2





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

    – mosvy
    3 hours ago











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

    – Jesse_b
    3 hours ago













3












3








3








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


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










share|improve this question









New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












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









New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 1 hour ago









muru

38.1k590166




38.1k590166






New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 4 hours ago









JamesJames

213




213




New contributor




James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






James is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 2





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

    – mosvy
    3 hours ago











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

    – Jesse_b
    3 hours ago












  • 2





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

    – mosvy
    3 hours ago











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

    – Jesse_b
    3 hours ago







2




2





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

– mosvy
3 hours ago





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

– mosvy
3 hours ago













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

– Jesse_b
3 hours ago





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

– Jesse_b
3 hours ago










2 Answers
2






active

oldest

votes


















5















# getcap ./some_bin
./some_bin =ep



That file has ALL the capabilites set in the effective(e) and permitted(p) set.



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 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 returned 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
































    5














    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
      );



      );






      James is a new contributor. Be nice, and check out our Code of Conduct.









      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









      5















      # getcap ./some_bin
      ./some_bin =ep



      That file has ALL the capabilites set in the effective(e) and permitted(p) set.



      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 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 returned 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





























        5















        # getcap ./some_bin
        ./some_bin =ep



        That file has ALL the capabilites set in the effective(e) and permitted(p) set.



        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 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 returned 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



























          5












          5








          5








          # getcap ./some_bin
          ./some_bin =ep



          That file has ALL the capabilites set in the effective(e) and permitted(p) set.



          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 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 returned 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 file has ALL the capabilites set in the effective(e) and permitted(p) set.



          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 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 returned 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 1 hour ago

























          answered 3 hours ago









          mosvymosvy

          10.9k11340




          10.9k11340























              5














              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



























                5














                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

























                  5












                  5








                  5







                  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 3 hours ago









                  ctrl-alt-delorctrl-alt-delor

                  12.7k52663




                  12.7k52663




















                      James is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      James is a new contributor. Be nice, and check out our Code of Conduct.












                      James is a new contributor. Be nice, and check out our Code of Conduct.











                      James is a new contributor. Be nice, and check out our Code of Conduct.














                      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

                      How to create a command for the “strange m” symbol in latex? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How do you make your own symbol when Detexify fails?Writing bold small caps with mathpazo packageplus-minus symbol with parenthesis around the minus signGreek character in Beamer document titleHow to create dashed right arrow over symbol?Currency symbol: Turkish LiraDouble prec as a single symbol?Plus Sign Too Big; How to Call adfbullet?Is there a TeX macro for three-legged pi?How do I get my integral-like symbol to align like the integral?How to selectively substitute a letter with another symbol representing the same letterHow do I generate a less than symbol and vertical bar that are the same height?

                      Българска екзархия Съдържание История | Български екзарси | Вижте също | Външни препратки | Литература | Бележки | НавигацияУстав за управлението на българската екзархия. Цариград, 1870Слово на Ловешкия митрополит Иларион при откриването на Българския народен събор в Цариград на 23. II. 1870 г.Българската правда и гръцката кривда. От С. М. (= Софийски Мелетий). Цариград, 1872Предстоятели на Българската екзархияПодмененият ВеликденИнформационна агенция „Фокус“Димитър Ризов. Българите в техните исторически, етнографически и политически граници (Атлас съдържащ 40 карти). Berlin, Königliche Hoflithographie, Hof-Buch- und -Steindruckerei Wilhelm Greve, 1917Report of the International Commission to Inquire into the Causes and Conduct of the Balkan Wars

                      Category:Tremithousa Media in category "Tremithousa"Navigation menuUpload media34° 49′ 02.7″ N, 32° 26′ 37.32″ EOpenStreetMapGoogle EarthProximityramaReasonatorScholiaStatisticsWikiShootMe