mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
ls: add selinux support
This commit is contained in:
parent
8487e12057
commit
4651a58b82
2 changed files with 22 additions and 6 deletions
|
@ -2752,17 +2752,13 @@ fn display_item_long(
|
||||||
let is_acl_set = has_acl(item.display_name.as_os_str());
|
let is_acl_set = has_acl(item.display_name.as_os_str());
|
||||||
write!(
|
write!(
|
||||||
output_display,
|
output_display,
|
||||||
"{}{}{} {}",
|
"{}{} {}",
|
||||||
display_permissions(md, true),
|
display_permissions(md, true),
|
||||||
if item.security_context.len() > 1 {
|
if item.security_context.len() > 1 {
|
||||||
// GNU `ls` uses a "." character to indicate a file with a security context,
|
// GNU `ls` uses a "." character to indicate a file with a security context,
|
||||||
// but not other alternate access method.
|
// but not other alternate access method.
|
||||||
"."
|
"."
|
||||||
} else {
|
} else if is_acl_set {
|
||||||
""
|
|
||||||
},
|
|
||||||
if is_acl_set {
|
|
||||||
// if acl has been set, we display a "+" at the end of the file permissions
|
|
||||||
"+"
|
"+"
|
||||||
} else {
|
} else {
|
||||||
""
|
""
|
||||||
|
|
|
@ -4183,6 +4183,26 @@ fn test_ls_context2() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(feature = "feat_selinux")]
|
||||||
|
fn test_ls_context_long() {
|
||||||
|
if !uucore::selinux::is_selinux_enabled() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let scene = TestScenario::new(util_name!());
|
||||||
|
let at = &scene.fixtures;
|
||||||
|
at.touch("foo");
|
||||||
|
for c_flag in ["-Zl", "-Zal"] {
|
||||||
|
let result = scene.ucmd().args(&[c_flag, "foo"]).succeeds();
|
||||||
|
|
||||||
|
let line: Vec<_> = result.stdout_str().split(" ").collect();
|
||||||
|
assert!(line[0].ends_with("."));
|
||||||
|
assert!(line[4].starts_with("unconfined_u"));
|
||||||
|
let s: Vec<_> = line[4].split(":").collect();
|
||||||
|
assert!(s.len() == 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "feat_selinux")]
|
#[cfg(feature = "feat_selinux")]
|
||||||
fn test_ls_context_format() {
|
fn test_ls_context_format() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue