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;
root@macine:~# getcap ./some_bin
./some_bin =ep
What does "ep" mean? What are the capabilities of this binary?
linux capabilities
add a comment |
root@macine:~# getcap ./some_bin
./some_bin =ep
What does "ep" mean? What are the capabilities of this binary?
linux capabilities
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) andsetcap -r file
will remove them completely.
– mosvy
Apr 27 at 20:41
@mosvy: Dew hwat?
– Jesse_b
Apr 27 at 20:58
add a comment |
root@macine:~# getcap ./some_bin
./some_bin =ep
What does "ep" mean? What are the capabilities of this binary?
linux capabilities
root@macine:~# getcap ./some_bin
./some_bin =ep
What does "ep" mean? What are the capabilities of this binary?
linux capabilities
linux capabilities
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) andsetcap -r file
will remove them completely.
– mosvy
Apr 27 at 20:41
@mosvy: Dew hwat?
– Jesse_b
Apr 27 at 20:58
add a comment |
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) andsetcap -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
add a comment |
2 Answers
2
active
oldest
votes
# 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
add a comment |
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.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
# 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
add a comment |
# 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
add a comment |
# 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
# 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
edited Apr 28 at 12:21
answered Apr 27 at 17:09
mosvymosvy
11.2k11340
11.2k11340
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered Apr 27 at 16:48
ctrl-alt-delorctrl-alt-delor
12.9k52663
12.9k52663
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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) andsetcap -r file
will remove them completely.– mosvy
Apr 27 at 20:41
@mosvy: Dew hwat?
– Jesse_b
Apr 27 at 20:58