HADOOP-6710. Symbolic umask for file creation is not conformant with posix. Contributed by Suresh Srinivas.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@937577 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
67c006c322
commit
27a9fce10d
@ -343,6 +343,9 @@ Trunk (unreleased changes)
|
||||
HADOOP-6690. FilterFileSystem correctly handles setTimes call.
|
||||
(Rodrigo Schmidt via dhruba)
|
||||
|
||||
HADOOP-6710. Symbolic umask for file creation is not conformant with posix.
|
||||
(suresh)
|
||||
|
||||
HADOOP-6719. Insert all missing methods in FilterFs.
|
||||
(Rodrigo Schmidt via dhruba)
|
||||
|
||||
|
@ -199,7 +199,20 @@ public FsPermission applyUMask(FsPermission umask) {
|
||||
public static final int DEFAULT_UMASK =
|
||||
CommonConfigurationKeys.FS_PERMISSIONS_UMASK_DEFAULT;
|
||||
|
||||
/** Get the user file creation mask (umask) */
|
||||
/**
|
||||
* Get the user file creation mask (umask)
|
||||
*
|
||||
* {@code UMASK_LABEL} config param has umask value that is either symbolic
|
||||
* or octal.
|
||||
*
|
||||
* Symbolic umask is applied relative to file mode creation mask;
|
||||
* the permission op characters '+' clears the corresponding bit in the mask,
|
||||
* '-' sets bits in the mask.
|
||||
*
|
||||
* Octal umask, the specified bits are set in the file mode creation mask.
|
||||
*
|
||||
* {@code DEPRECATED_UMASK_LABEL} config param has umask value set to decimal.
|
||||
*/
|
||||
public static FsPermission getUMask(Configuration conf) {
|
||||
int umask = DEFAULT_UMASK;
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
* UmaskParser and ChmodParser classes.
|
||||
*/
|
||||
class PermissionParser {
|
||||
protected boolean symbolic = false;
|
||||
protected short userMode;
|
||||
protected short groupMode;
|
||||
protected short othersMode;
|
||||
@ -140,6 +141,7 @@ private void applyNormalPattern(String modeStr, Matcher matcher) {
|
||||
|
||||
commaSeperated = matcher.group(4).contains(",");
|
||||
}
|
||||
symbolic = true;
|
||||
}
|
||||
|
||||
private void applyOctalPattern(String modeStr, Matcher matcher) {
|
||||
|
@ -30,7 +30,7 @@ class UmaskParser extends PermissionParser {
|
||||
private static Pattern chmodOctalPattern =
|
||||
Pattern.compile("^\\s*[+]?()([0-7]{3})\\s*$"); // no leading 1 for sticky bit
|
||||
private static Pattern umaskSymbolicPattern = /* not allow X or t */
|
||||
Pattern.compile("\\G\\s*([ugoa]*)([+=-]+)([rwx]+)([,\\s]*)\\s*");
|
||||
Pattern.compile("\\G\\s*([ugoa]*)([+=-]+)([rwx]*)([,\\s]*)\\s*");
|
||||
final short umaskMode;
|
||||
|
||||
public UmaskParser(String modeStr) throws IllegalArgumentException {
|
||||
@ -39,7 +39,21 @@ public UmaskParser(String modeStr) throws IllegalArgumentException {
|
||||
umaskMode = (short)combineModes(0, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* To be used for file/directory creation only. Symbolic umask is applied
|
||||
* relative to file mode creation mask; the permission op characters '+'
|
||||
* results in clearing the corresponding bit in the mask, '-' results in bits
|
||||
* for indicated permission to be set in the mask.
|
||||
*
|
||||
* For octal umask, the specified bits are set in the file mode creation mask.
|
||||
*
|
||||
* @return umask
|
||||
*/
|
||||
public short getUMask() {
|
||||
if (symbolic) {
|
||||
// Return the complement of octal equivalent of umask that was computed
|
||||
return (short) (~umaskMode & 0777);
|
||||
}
|
||||
return umaskMode;
|
||||
}
|
||||
}
|
||||
|
@ -133,17 +133,531 @@ public void testUMaskParser() throws IOException {
|
||||
}
|
||||
}
|
||||
|
||||
public void TestSymbolicUmasks() {
|
||||
public void testSymbolicUmasks() {
|
||||
Configuration conf = new Configuration();
|
||||
|
||||
// Test some symbolic settings Setting Octal result
|
||||
String [] symbolic = new String [] { "a+rw", "666",
|
||||
"u=x,g=r,o=w", "142",
|
||||
"u=x", "100" };
|
||||
// Test some symbolic to octal settings
|
||||
// Symbolic umask list is generated in linux shell using by the command:
|
||||
// umask 0; umask <octal number>; umask -S
|
||||
String [][] symbolic = new String [][] {
|
||||
{"a+rw", "111",},
|
||||
{"u=rwx,g=rwx,o=rwx", "0",},
|
||||
{"u=rwx,g=rwx,o=rw", "1",},
|
||||
{"u=rwx,g=rwx,o=rx", "2",},
|
||||
{"u=rwx,g=rwx,o=r", "3",},
|
||||
{"u=rwx,g=rwx,o=wx", "4",},
|
||||
{"u=rwx,g=rwx,o=w", "5",},
|
||||
{"u=rwx,g=rwx,o=x", "6",},
|
||||
{"u=rwx,g=rwx,o=", "7",},
|
||||
{"u=rwx,g=rw,o=rwx", "10",},
|
||||
{"u=rwx,g=rw,o=rw", "11",},
|
||||
{"u=rwx,g=rw,o=rx", "12",},
|
||||
{"u=rwx,g=rw,o=r", "13",},
|
||||
{"u=rwx,g=rw,o=wx", "14",},
|
||||
{"u=rwx,g=rw,o=w", "15",},
|
||||
{"u=rwx,g=rw,o=x", "16",},
|
||||
{"u=rwx,g=rw,o=", "17",},
|
||||
{"u=rwx,g=rx,o=rwx", "20",},
|
||||
{"u=rwx,g=rx,o=rw", "21",},
|
||||
{"u=rwx,g=rx,o=rx", "22",},
|
||||
{"u=rwx,g=rx,o=r", "23",},
|
||||
{"u=rwx,g=rx,o=wx", "24",},
|
||||
{"u=rwx,g=rx,o=w", "25",},
|
||||
{"u=rwx,g=rx,o=x", "26",},
|
||||
{"u=rwx,g=rx,o=", "27",},
|
||||
{"u=rwx,g=r,o=rwx", "30",},
|
||||
{"u=rwx,g=r,o=rw", "31",},
|
||||
{"u=rwx,g=r,o=rx", "32",},
|
||||
{"u=rwx,g=r,o=r", "33",},
|
||||
{"u=rwx,g=r,o=wx", "34",},
|
||||
{"u=rwx,g=r,o=w", "35",},
|
||||
{"u=rwx,g=r,o=x", "36",},
|
||||
{"u=rwx,g=r,o=", "37",},
|
||||
{"u=rwx,g=wx,o=rwx", "40",},
|
||||
{"u=rwx,g=wx,o=rw", "41",},
|
||||
{"u=rwx,g=wx,o=rx", "42",},
|
||||
{"u=rwx,g=wx,o=r", "43",},
|
||||
{"u=rwx,g=wx,o=wx", "44",},
|
||||
{"u=rwx,g=wx,o=w", "45",},
|
||||
{"u=rwx,g=wx,o=x", "46",},
|
||||
{"u=rwx,g=wx,o=", "47",},
|
||||
{"u=rwx,g=w,o=rwx", "50",},
|
||||
{"u=rwx,g=w,o=rw", "51",},
|
||||
{"u=rwx,g=w,o=rx", "52",},
|
||||
{"u=rwx,g=w,o=r", "53",},
|
||||
{"u=rwx,g=w,o=wx", "54",},
|
||||
{"u=rwx,g=w,o=w", "55",},
|
||||
{"u=rwx,g=w,o=x", "56",},
|
||||
{"u=rwx,g=w,o=", "57",},
|
||||
{"u=rwx,g=x,o=rwx", "60",},
|
||||
{"u=rwx,g=x,o=rw", "61",},
|
||||
{"u=rwx,g=x,o=rx", "62",},
|
||||
{"u=rwx,g=x,o=r", "63",},
|
||||
{"u=rwx,g=x,o=wx", "64",},
|
||||
{"u=rwx,g=x,o=w", "65",},
|
||||
{"u=rwx,g=x,o=x", "66",},
|
||||
{"u=rwx,g=x,o=", "67",},
|
||||
{"u=rwx,g=,o=rwx", "70",},
|
||||
{"u=rwx,g=,o=rw", "71",},
|
||||
{"u=rwx,g=,o=rx", "72",},
|
||||
{"u=rwx,g=,o=r", "73",},
|
||||
{"u=rwx,g=,o=wx", "74",},
|
||||
{"u=rwx,g=,o=w", "75",},
|
||||
{"u=rwx,g=,o=x", "76",},
|
||||
{"u=rwx,g=,o=", "77",},
|
||||
{"u=rw,g=rwx,o=rwx", "100",},
|
||||
{"u=rw,g=rwx,o=rw", "101",},
|
||||
{"u=rw,g=rwx,o=rx", "102",},
|
||||
{"u=rw,g=rwx,o=r", "103",},
|
||||
{"u=rw,g=rwx,o=wx", "104",},
|
||||
{"u=rw,g=rwx,o=w", "105",},
|
||||
{"u=rw,g=rwx,o=x", "106",},
|
||||
{"u=rw,g=rwx,o=", "107",},
|
||||
{"u=rw,g=rw,o=rwx", "110",},
|
||||
{"u=rw,g=rw,o=rw", "111",},
|
||||
{"u=rw,g=rw,o=rx", "112",},
|
||||
{"u=rw,g=rw,o=r", "113",},
|
||||
{"u=rw,g=rw,o=wx", "114",},
|
||||
{"u=rw,g=rw,o=w", "115",},
|
||||
{"u=rw,g=rw,o=x", "116",},
|
||||
{"u=rw,g=rw,o=", "117",},
|
||||
{"u=rw,g=rx,o=rwx", "120",},
|
||||
{"u=rw,g=rx,o=rw", "121",},
|
||||
{"u=rw,g=rx,o=rx", "122",},
|
||||
{"u=rw,g=rx,o=r", "123",},
|
||||
{"u=rw,g=rx,o=wx", "124",},
|
||||
{"u=rw,g=rx,o=w", "125",},
|
||||
{"u=rw,g=rx,o=x", "126",},
|
||||
{"u=rw,g=rx,o=", "127",},
|
||||
{"u=rw,g=r,o=rwx", "130",},
|
||||
{"u=rw,g=r,o=rw", "131",},
|
||||
{"u=rw,g=r,o=rx", "132",},
|
||||
{"u=rw,g=r,o=r", "133",},
|
||||
{"u=rw,g=r,o=wx", "134",},
|
||||
{"u=rw,g=r,o=w", "135",},
|
||||
{"u=rw,g=r,o=x", "136",},
|
||||
{"u=rw,g=r,o=", "137",},
|
||||
{"u=rw,g=wx,o=rwx", "140",},
|
||||
{"u=rw,g=wx,o=rw", "141",},
|
||||
{"u=rw,g=wx,o=rx", "142",},
|
||||
{"u=rw,g=wx,o=r", "143",},
|
||||
{"u=rw,g=wx,o=wx", "144",},
|
||||
{"u=rw,g=wx,o=w", "145",},
|
||||
{"u=rw,g=wx,o=x", "146",},
|
||||
{"u=rw,g=wx,o=", "147",},
|
||||
{"u=rw,g=w,o=rwx", "150",},
|
||||
{"u=rw,g=w,o=rw", "151",},
|
||||
{"u=rw,g=w,o=rx", "152",},
|
||||
{"u=rw,g=w,o=r", "153",},
|
||||
{"u=rw,g=w,o=wx", "154",},
|
||||
{"u=rw,g=w,o=w", "155",},
|
||||
{"u=rw,g=w,o=x", "156",},
|
||||
{"u=rw,g=w,o=", "157",},
|
||||
{"u=rw,g=x,o=rwx", "160",},
|
||||
{"u=rw,g=x,o=rw", "161",},
|
||||
{"u=rw,g=x,o=rx", "162",},
|
||||
{"u=rw,g=x,o=r", "163",},
|
||||
{"u=rw,g=x,o=wx", "164",},
|
||||
{"u=rw,g=x,o=w", "165",},
|
||||
{"u=rw,g=x,o=x", "166",},
|
||||
{"u=rw,g=x,o=", "167",},
|
||||
{"u=rw,g=,o=rwx", "170",},
|
||||
{"u=rw,g=,o=rw", "171",},
|
||||
{"u=rw,g=,o=rx", "172",},
|
||||
{"u=rw,g=,o=r", "173",},
|
||||
{"u=rw,g=,o=wx", "174",},
|
||||
{"u=rw,g=,o=w", "175",},
|
||||
{"u=rw,g=,o=x", "176",},
|
||||
{"u=rw,g=,o=", "177",},
|
||||
{"u=rx,g=rwx,o=rwx", "200",},
|
||||
{"u=rx,g=rwx,o=rw", "201",},
|
||||
{"u=rx,g=rwx,o=rx", "202",},
|
||||
{"u=rx,g=rwx,o=r", "203",},
|
||||
{"u=rx,g=rwx,o=wx", "204",},
|
||||
{"u=rx,g=rwx,o=w", "205",},
|
||||
{"u=rx,g=rwx,o=x", "206",},
|
||||
{"u=rx,g=rwx,o=", "207",},
|
||||
{"u=rx,g=rw,o=rwx", "210",},
|
||||
{"u=rx,g=rw,o=rw", "211",},
|
||||
{"u=rx,g=rw,o=rx", "212",},
|
||||
{"u=rx,g=rw,o=r", "213",},
|
||||
{"u=rx,g=rw,o=wx", "214",},
|
||||
{"u=rx,g=rw,o=w", "215",},
|
||||
{"u=rx,g=rw,o=x", "216",},
|
||||
{"u=rx,g=rw,o=", "217",},
|
||||
{"u=rx,g=rx,o=rwx", "220",},
|
||||
{"u=rx,g=rx,o=rw", "221",},
|
||||
{"u=rx,g=rx,o=rx", "222",},
|
||||
{"u=rx,g=rx,o=r", "223",},
|
||||
{"u=rx,g=rx,o=wx", "224",},
|
||||
{"u=rx,g=rx,o=w", "225",},
|
||||
{"u=rx,g=rx,o=x", "226",},
|
||||
{"u=rx,g=rx,o=", "227",},
|
||||
{"u=rx,g=r,o=rwx", "230",},
|
||||
{"u=rx,g=r,o=rw", "231",},
|
||||
{"u=rx,g=r,o=rx", "232",},
|
||||
{"u=rx,g=r,o=r", "233",},
|
||||
{"u=rx,g=r,o=wx", "234",},
|
||||
{"u=rx,g=r,o=w", "235",},
|
||||
{"u=rx,g=r,o=x", "236",},
|
||||
{"u=rx,g=r,o=", "237",},
|
||||
{"u=rx,g=wx,o=rwx", "240",},
|
||||
{"u=rx,g=wx,o=rw", "241",},
|
||||
{"u=rx,g=wx,o=rx", "242",},
|
||||
{"u=rx,g=wx,o=r", "243",},
|
||||
{"u=rx,g=wx,o=wx", "244",},
|
||||
{"u=rx,g=wx,o=w", "245",},
|
||||
{"u=rx,g=wx,o=x", "246",},
|
||||
{"u=rx,g=wx,o=", "247",},
|
||||
{"u=rx,g=w,o=rwx", "250",},
|
||||
{"u=rx,g=w,o=rw", "251",},
|
||||
{"u=rx,g=w,o=rx", "252",},
|
||||
{"u=rx,g=w,o=r", "253",},
|
||||
{"u=rx,g=w,o=wx", "254",},
|
||||
{"u=rx,g=w,o=w", "255",},
|
||||
{"u=rx,g=w,o=x", "256",},
|
||||
{"u=rx,g=w,o=", "257",},
|
||||
{"u=rx,g=x,o=rwx", "260",},
|
||||
{"u=rx,g=x,o=rw", "261",},
|
||||
{"u=rx,g=x,o=rx", "262",},
|
||||
{"u=rx,g=x,o=r", "263",},
|
||||
{"u=rx,g=x,o=wx", "264",},
|
||||
{"u=rx,g=x,o=w", "265",},
|
||||
{"u=rx,g=x,o=x", "266",},
|
||||
{"u=rx,g=x,o=", "267",},
|
||||
{"u=rx,g=,o=rwx", "270",},
|
||||
{"u=rx,g=,o=rw", "271",},
|
||||
{"u=rx,g=,o=rx", "272",},
|
||||
{"u=rx,g=,o=r", "273",},
|
||||
{"u=rx,g=,o=wx", "274",},
|
||||
{"u=rx,g=,o=w", "275",},
|
||||
{"u=rx,g=,o=x", "276",},
|
||||
{"u=rx,g=,o=", "277",},
|
||||
{"u=r,g=rwx,o=rwx", "300",},
|
||||
{"u=r,g=rwx,o=rw", "301",},
|
||||
{"u=r,g=rwx,o=rx", "302",},
|
||||
{"u=r,g=rwx,o=r", "303",},
|
||||
{"u=r,g=rwx,o=wx", "304",},
|
||||
{"u=r,g=rwx,o=w", "305",},
|
||||
{"u=r,g=rwx,o=x", "306",},
|
||||
{"u=r,g=rwx,o=", "307",},
|
||||
{"u=r,g=rw,o=rwx", "310",},
|
||||
{"u=r,g=rw,o=rw", "311",},
|
||||
{"u=r,g=rw,o=rx", "312",},
|
||||
{"u=r,g=rw,o=r", "313",},
|
||||
{"u=r,g=rw,o=wx", "314",},
|
||||
{"u=r,g=rw,o=w", "315",},
|
||||
{"u=r,g=rw,o=x", "316",},
|
||||
{"u=r,g=rw,o=", "317",},
|
||||
{"u=r,g=rx,o=rwx", "320",},
|
||||
{"u=r,g=rx,o=rw", "321",},
|
||||
{"u=r,g=rx,o=rx", "322",},
|
||||
{"u=r,g=rx,o=r", "323",},
|
||||
{"u=r,g=rx,o=wx", "324",},
|
||||
{"u=r,g=rx,o=w", "325",},
|
||||
{"u=r,g=rx,o=x", "326",},
|
||||
{"u=r,g=rx,o=", "327",},
|
||||
{"u=r,g=r,o=rwx", "330",},
|
||||
{"u=r,g=r,o=rw", "331",},
|
||||
{"u=r,g=r,o=rx", "332",},
|
||||
{"u=r,g=r,o=r", "333",},
|
||||
{"u=r,g=r,o=wx", "334",},
|
||||
{"u=r,g=r,o=w", "335",},
|
||||
{"u=r,g=r,o=x", "336",},
|
||||
{"u=r,g=r,o=", "337",},
|
||||
{"u=r,g=wx,o=rwx", "340",},
|
||||
{"u=r,g=wx,o=rw", "341",},
|
||||
{"u=r,g=wx,o=rx", "342",},
|
||||
{"u=r,g=wx,o=r", "343",},
|
||||
{"u=r,g=wx,o=wx", "344",},
|
||||
{"u=r,g=wx,o=w", "345",},
|
||||
{"u=r,g=wx,o=x", "346",},
|
||||
{"u=r,g=wx,o=", "347",},
|
||||
{"u=r,g=w,o=rwx", "350",},
|
||||
{"u=r,g=w,o=rw", "351",},
|
||||
{"u=r,g=w,o=rx", "352",},
|
||||
{"u=r,g=w,o=r", "353",},
|
||||
{"u=r,g=w,o=wx", "354",},
|
||||
{"u=r,g=w,o=w", "355",},
|
||||
{"u=r,g=w,o=x", "356",},
|
||||
{"u=r,g=w,o=", "357",},
|
||||
{"u=r,g=x,o=rwx", "360",},
|
||||
{"u=r,g=x,o=rw", "361",},
|
||||
{"u=r,g=x,o=rx", "362",},
|
||||
{"u=r,g=x,o=r", "363",},
|
||||
{"u=r,g=x,o=wx", "364",},
|
||||
{"u=r,g=x,o=w", "365",},
|
||||
{"u=r,g=x,o=x", "366",},
|
||||
{"u=r,g=x,o=", "367",},
|
||||
{"u=r,g=,o=rwx", "370",},
|
||||
{"u=r,g=,o=rw", "371",},
|
||||
{"u=r,g=,o=rx", "372",},
|
||||
{"u=r,g=,o=r", "373",},
|
||||
{"u=r,g=,o=wx", "374",},
|
||||
{"u=r,g=,o=w", "375",},
|
||||
{"u=r,g=,o=x", "376",},
|
||||
{"u=r,g=,o=", "377",},
|
||||
{"u=wx,g=rwx,o=rwx", "400",},
|
||||
{"u=wx,g=rwx,o=rw", "401",},
|
||||
{"u=wx,g=rwx,o=rx", "402",},
|
||||
{"u=wx,g=rwx,o=r", "403",},
|
||||
{"u=wx,g=rwx,o=wx", "404",},
|
||||
{"u=wx,g=rwx,o=w", "405",},
|
||||
{"u=wx,g=rwx,o=x", "406",},
|
||||
{"u=wx,g=rwx,o=", "407",},
|
||||
{"u=wx,g=rw,o=rwx", "410",},
|
||||
{"u=wx,g=rw,o=rw", "411",},
|
||||
{"u=wx,g=rw,o=rx", "412",},
|
||||
{"u=wx,g=rw,o=r", "413",},
|
||||
{"u=wx,g=rw,o=wx", "414",},
|
||||
{"u=wx,g=rw,o=w", "415",},
|
||||
{"u=wx,g=rw,o=x", "416",},
|
||||
{"u=wx,g=rw,o=", "417",},
|
||||
{"u=wx,g=rx,o=rwx", "420",},
|
||||
{"u=wx,g=rx,o=rw", "421",},
|
||||
{"u=wx,g=rx,o=rx", "422",},
|
||||
{"u=wx,g=rx,o=r", "423",},
|
||||
{"u=wx,g=rx,o=wx", "424",},
|
||||
{"u=wx,g=rx,o=w", "425",},
|
||||
{"u=wx,g=rx,o=x", "426",},
|
||||
{"u=wx,g=rx,o=", "427",},
|
||||
{"u=wx,g=r,o=rwx", "430",},
|
||||
{"u=wx,g=r,o=rw", "431",},
|
||||
{"u=wx,g=r,o=rx", "432",},
|
||||
{"u=wx,g=r,o=r", "433",},
|
||||
{"u=wx,g=r,o=wx", "434",},
|
||||
{"u=wx,g=r,o=w", "435",},
|
||||
{"u=wx,g=r,o=x", "436",},
|
||||
{"u=wx,g=r,o=", "437",},
|
||||
{"u=wx,g=wx,o=rwx", "440",},
|
||||
{"u=wx,g=wx,o=rw", "441",},
|
||||
{"u=wx,g=wx,o=rx", "442",},
|
||||
{"u=wx,g=wx,o=r", "443",},
|
||||
{"u=wx,g=wx,o=wx", "444",},
|
||||
{"u=wx,g=wx,o=w", "445",},
|
||||
{"u=wx,g=wx,o=x", "446",},
|
||||
{"u=wx,g=wx,o=", "447",},
|
||||
{"u=wx,g=w,o=rwx", "450",},
|
||||
{"u=wx,g=w,o=rw", "451",},
|
||||
{"u=wx,g=w,o=rx", "452",},
|
||||
{"u=wx,g=w,o=r", "453",},
|
||||
{"u=wx,g=w,o=wx", "454",},
|
||||
{"u=wx,g=w,o=w", "455",},
|
||||
{"u=wx,g=w,o=x", "456",},
|
||||
{"u=wx,g=w,o=", "457",},
|
||||
{"u=wx,g=x,o=rwx", "460",},
|
||||
{"u=wx,g=x,o=rw", "461",},
|
||||
{"u=wx,g=x,o=rx", "462",},
|
||||
{"u=wx,g=x,o=r", "463",},
|
||||
{"u=wx,g=x,o=wx", "464",},
|
||||
{"u=wx,g=x,o=w", "465",},
|
||||
{"u=wx,g=x,o=x", "466",},
|
||||
{"u=wx,g=x,o=", "467",},
|
||||
{"u=wx,g=,o=rwx", "470",},
|
||||
{"u=wx,g=,o=rw", "471",},
|
||||
{"u=wx,g=,o=rx", "472",},
|
||||
{"u=wx,g=,o=r", "473",},
|
||||
{"u=wx,g=,o=wx", "474",},
|
||||
{"u=wx,g=,o=w", "475",},
|
||||
{"u=wx,g=,o=x", "476",},
|
||||
{"u=wx,g=,o=", "477",},
|
||||
{"u=w,g=rwx,o=rwx", "500",},
|
||||
{"u=w,g=rwx,o=rw", "501",},
|
||||
{"u=w,g=rwx,o=rx", "502",},
|
||||
{"u=w,g=rwx,o=r", "503",},
|
||||
{"u=w,g=rwx,o=wx", "504",},
|
||||
{"u=w,g=rwx,o=w", "505",},
|
||||
{"u=w,g=rwx,o=x", "506",},
|
||||
{"u=w,g=rwx,o=", "507",},
|
||||
{"u=w,g=rw,o=rwx", "510",},
|
||||
{"u=w,g=rw,o=rw", "511",},
|
||||
{"u=w,g=rw,o=rx", "512",},
|
||||
{"u=w,g=rw,o=r", "513",},
|
||||
{"u=w,g=rw,o=wx", "514",},
|
||||
{"u=w,g=rw,o=w", "515",},
|
||||
{"u=w,g=rw,o=x", "516",},
|
||||
{"u=w,g=rw,o=", "517",},
|
||||
{"u=w,g=rx,o=rwx", "520",},
|
||||
{"u=w,g=rx,o=rw", "521",},
|
||||
{"u=w,g=rx,o=rx", "522",},
|
||||
{"u=w,g=rx,o=r", "523",},
|
||||
{"u=w,g=rx,o=wx", "524",},
|
||||
{"u=w,g=rx,o=w", "525",},
|
||||
{"u=w,g=rx,o=x", "526",},
|
||||
{"u=w,g=rx,o=", "527",},
|
||||
{"u=w,g=r,o=rwx", "530",},
|
||||
{"u=w,g=r,o=rw", "531",},
|
||||
{"u=w,g=r,o=rx", "532",},
|
||||
{"u=w,g=r,o=r", "533",},
|
||||
{"u=w,g=r,o=wx", "534",},
|
||||
{"u=w,g=r,o=w", "535",},
|
||||
{"u=w,g=r,o=x", "536",},
|
||||
{"u=w,g=r,o=", "537",},
|
||||
{"u=w,g=wx,o=rwx", "540",},
|
||||
{"u=w,g=wx,o=rw", "541",},
|
||||
{"u=w,g=wx,o=rx", "542",},
|
||||
{"u=w,g=wx,o=r", "543",},
|
||||
{"u=w,g=wx,o=wx", "544",},
|
||||
{"u=w,g=wx,o=w", "545",},
|
||||
{"u=w,g=wx,o=x", "546",},
|
||||
{"u=w,g=wx,o=", "547",},
|
||||
{"u=w,g=w,o=rwx", "550",},
|
||||
{"u=w,g=w,o=rw", "551",},
|
||||
{"u=w,g=w,o=rx", "552",},
|
||||
{"u=w,g=w,o=r", "553",},
|
||||
{"u=w,g=w,o=wx", "554",},
|
||||
{"u=w,g=w,o=w", "555",},
|
||||
{"u=w,g=w,o=x", "556",},
|
||||
{"u=w,g=w,o=", "557",},
|
||||
{"u=w,g=x,o=rwx", "560",},
|
||||
{"u=w,g=x,o=rw", "561",},
|
||||
{"u=w,g=x,o=rx", "562",},
|
||||
{"u=w,g=x,o=r", "563",},
|
||||
{"u=w,g=x,o=wx", "564",},
|
||||
{"u=w,g=x,o=w", "565",},
|
||||
{"u=w,g=x,o=x", "566",},
|
||||
{"u=w,g=x,o=", "567",},
|
||||
{"u=w,g=,o=rwx", "570",},
|
||||
{"u=w,g=,o=rw", "571",},
|
||||
{"u=w,g=,o=rx", "572",},
|
||||
{"u=w,g=,o=r", "573",},
|
||||
{"u=w,g=,o=wx", "574",},
|
||||
{"u=w,g=,o=w", "575",},
|
||||
{"u=w,g=,o=x", "576",},
|
||||
{"u=w,g=,o=", "577",},
|
||||
{"u=x,g=rwx,o=rwx", "600",},
|
||||
{"u=x,g=rwx,o=rw", "601",},
|
||||
{"u=x,g=rwx,o=rx", "602",},
|
||||
{"u=x,g=rwx,o=r", "603",},
|
||||
{"u=x,g=rwx,o=wx", "604",},
|
||||
{"u=x,g=rwx,o=w", "605",},
|
||||
{"u=x,g=rwx,o=x", "606",},
|
||||
{"u=x,g=rwx,o=", "607",},
|
||||
{"u=x,g=rw,o=rwx", "610",},
|
||||
{"u=x,g=rw,o=rw", "611",},
|
||||
{"u=x,g=rw,o=rx", "612",},
|
||||
{"u=x,g=rw,o=r", "613",},
|
||||
{"u=x,g=rw,o=wx", "614",},
|
||||
{"u=x,g=rw,o=w", "615",},
|
||||
{"u=x,g=rw,o=x", "616",},
|
||||
{"u=x,g=rw,o=", "617",},
|
||||
{"u=x,g=rx,o=rwx", "620",},
|
||||
{"u=x,g=rx,o=rw", "621",},
|
||||
{"u=x,g=rx,o=rx", "622",},
|
||||
{"u=x,g=rx,o=r", "623",},
|
||||
{"u=x,g=rx,o=wx", "624",},
|
||||
{"u=x,g=rx,o=w", "625",},
|
||||
{"u=x,g=rx,o=x", "626",},
|
||||
{"u=x,g=rx,o=", "627",},
|
||||
{"u=x,g=r,o=rwx", "630",},
|
||||
{"u=x,g=r,o=rw", "631",},
|
||||
{"u=x,g=r,o=rx", "632",},
|
||||
{"u=x,g=r,o=r", "633",},
|
||||
{"u=x,g=r,o=wx", "634",},
|
||||
{"u=x,g=r,o=w", "635",},
|
||||
{"u=x,g=r,o=x", "636",},
|
||||
{"u=x,g=r,o=", "637",},
|
||||
{"u=x,g=wx,o=rwx", "640",},
|
||||
{"u=x,g=wx,o=rw", "641",},
|
||||
{"u=x,g=wx,o=rx", "642",},
|
||||
{"u=x,g=wx,o=r", "643",},
|
||||
{"u=x,g=wx,o=wx", "644",},
|
||||
{"u=x,g=wx,o=w", "645",},
|
||||
{"u=x,g=wx,o=x", "646",},
|
||||
{"u=x,g=wx,o=", "647",},
|
||||
{"u=x,g=w,o=rwx", "650",},
|
||||
{"u=x,g=w,o=rw", "651",},
|
||||
{"u=x,g=w,o=rx", "652",},
|
||||
{"u=x,g=w,o=r", "653",},
|
||||
{"u=x,g=w,o=wx", "654",},
|
||||
{"u=x,g=w,o=w", "655",},
|
||||
{"u=x,g=w,o=x", "656",},
|
||||
{"u=x,g=w,o=", "657",},
|
||||
{"u=x,g=x,o=rwx", "660",},
|
||||
{"u=x,g=x,o=rw", "661",},
|
||||
{"u=x,g=x,o=rx", "662",},
|
||||
{"u=x,g=x,o=r", "663",},
|
||||
{"u=x,g=x,o=wx", "664",},
|
||||
{"u=x,g=x,o=w", "665",},
|
||||
{"u=x,g=x,o=x", "666",},
|
||||
{"u=x,g=x,o=", "667",},
|
||||
{"u=x,g=,o=rwx", "670",},
|
||||
{"u=x,g=,o=rw", "671",},
|
||||
{"u=x,g=,o=rx", "672",},
|
||||
{"u=x,g=,o=r", "673",},
|
||||
{"u=x,g=,o=wx", "674",},
|
||||
{"u=x,g=,o=w", "675",},
|
||||
{"u=x,g=,o=x", "676",},
|
||||
{"u=x,g=,o=", "677",},
|
||||
{"u=,g=rwx,o=rwx", "700",},
|
||||
{"u=,g=rwx,o=rw", "701",},
|
||||
{"u=,g=rwx,o=rx", "702",},
|
||||
{"u=,g=rwx,o=r", "703",},
|
||||
{"u=,g=rwx,o=wx", "704",},
|
||||
{"u=,g=rwx,o=w", "705",},
|
||||
{"u=,g=rwx,o=x", "706",},
|
||||
{"u=,g=rwx,o=", "707",},
|
||||
{"u=,g=rw,o=rwx", "710",},
|
||||
{"u=,g=rw,o=rw", "711",},
|
||||
{"u=,g=rw,o=rx", "712",},
|
||||
{"u=,g=rw,o=r", "713",},
|
||||
{"u=,g=rw,o=wx", "714",},
|
||||
{"u=,g=rw,o=w", "715",},
|
||||
{"u=,g=rw,o=x", "716",},
|
||||
{"u=,g=rw,o=", "717",},
|
||||
{"u=,g=rx,o=rwx", "720",},
|
||||
{"u=,g=rx,o=rw", "721",},
|
||||
{"u=,g=rx,o=rx", "722",},
|
||||
{"u=,g=rx,o=r", "723",},
|
||||
{"u=,g=rx,o=wx", "724",},
|
||||
{"u=,g=rx,o=w", "725",},
|
||||
{"u=,g=rx,o=x", "726",},
|
||||
{"u=,g=rx,o=", "727",},
|
||||
{"u=,g=r,o=rwx", "730",},
|
||||
{"u=,g=r,o=rw", "731",},
|
||||
{"u=,g=r,o=rx", "732",},
|
||||
{"u=,g=r,o=r", "733",},
|
||||
{"u=,g=r,o=wx", "734",},
|
||||
{"u=,g=r,o=w", "735",},
|
||||
{"u=,g=r,o=x", "736",},
|
||||
{"u=,g=r,o=", "737",},
|
||||
{"u=,g=wx,o=rwx", "740",},
|
||||
{"u=,g=wx,o=rw", "741",},
|
||||
{"u=,g=wx,o=rx", "742",},
|
||||
{"u=,g=wx,o=r", "743",},
|
||||
{"u=,g=wx,o=wx", "744",},
|
||||
{"u=,g=wx,o=w", "745",},
|
||||
{"u=,g=wx,o=x", "746",},
|
||||
{"u=,g=wx,o=", "747",},
|
||||
{"u=,g=w,o=rwx", "750",},
|
||||
{"u=,g=w,o=rw", "751",},
|
||||
{"u=,g=w,o=rx", "752",},
|
||||
{"u=,g=w,o=r", "753",},
|
||||
{"u=,g=w,o=wx", "754",},
|
||||
{"u=,g=w,o=w", "755",},
|
||||
{"u=,g=w,o=x", "756",},
|
||||
{"u=,g=w,o=", "757",},
|
||||
{"u=,g=x,o=rwx", "760",},
|
||||
{"u=,g=x,o=rw", "761",},
|
||||
{"u=,g=x,o=rx", "762",},
|
||||
{"u=,g=x,o=r", "763",},
|
||||
{"u=,g=x,o=wx", "764",},
|
||||
{"u=,g=x,o=w", "765",},
|
||||
{"u=,g=x,o=x", "766",},
|
||||
{"u=,g=x,o=", "767",},
|
||||
{"u=,g=,o=rwx", "770",},
|
||||
{"u=,g=,o=rw", "771",},
|
||||
{"u=,g=,o=rx", "772",},
|
||||
{"u=,g=,o=r", "773",},
|
||||
{"u=,g=,o=wx", "774",},
|
||||
{"u=,g=,o=w", "775",},
|
||||
{"u=,g=,o=x", "776",},
|
||||
{"u=,g=,o=", "777"}
|
||||
};
|
||||
|
||||
for(int i = 0; i < symbolic.length; i += 2) {
|
||||
conf.set(FsPermission.UMASK_LABEL, symbolic[i]);
|
||||
short val = Short.valueOf(symbolic[i + 1], 8);
|
||||
conf.set(FsPermission.UMASK_LABEL, symbolic[i][0]);
|
||||
short val = Short.valueOf(symbolic[i][1], 8);
|
||||
assertEquals(val, FsPermission.getUMask(conf).toShort());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user