Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
gawk /
examples /
prog /
Delete
Unzip
Name
Size
Permission
Date
Action
alarm.awk
2.31
KB
-rw-r--r--
2022-11-17 16:36
anagram.awk
1.33
KB
-rw-r--r--
2022-11-17 16:36
awksed.awk
515
B
-rw-r--r--
2022-11-17 16:36
cut.awk
3.61
KB
-rw-r--r--
2022-11-17 16:36
dupword.awk
507
B
-rw-r--r--
2022-11-17 16:36
egrep.awk
2.4
KB
-rw-r--r--
2022-11-17 16:36
extract.awk
1.84
KB
-rw-r--r--
2022-11-17 16:36
guide.awk
165
B
-rw-r--r--
2022-11-17 16:36
histsort.awk
283
B
-rw-r--r--
2022-11-17 16:36
id.awk
4.24
KB
-rw-r--r--
2022-11-17 16:36
igawk.sh
3.11
KB
-rw-r--r--
2022-11-17 16:36
indirectcall.awk
1.91
KB
-rw-r--r--
2022-11-17 16:36
labels.awk
1014
B
-rw-r--r--
2022-11-17 16:36
pi.awk
341
B
-rw-r--r--
2022-11-17 16:36
split.awk
3.25
KB
-rw-r--r--
2022-11-17 16:36
tee.awk
770
B
-rw-r--r--
2022-11-17 16:36
testbits.awk
736
B
-rw-r--r--
2022-11-17 16:36
translate.awk
1.15
KB
-rw-r--r--
2022-11-17 16:36
uniq.awk
2.9
KB
-rw-r--r--
2022-11-17 16:36
wc.awk
1.79
KB
-rw-r--r--
2022-11-17 16:36
wordfreq.awk
347
B
-rw-r--r--
2022-11-17 16:36
Save
Rename
# id.awk --- implement id in awk # # Requires user and group library functions and getopt # # Arnold Robbins, arnold@skeeve.com, Public Domain # May 1993 # Revised February 1996 # Revised May 2014 # Revised September 2014 # Revised September 2020 # output is: # uid=12(foo) euid=34(bar) gid=3(baz) \ # egid=5(blat) groups=9(nine),2(two),1(one) # Options: # -G Output all group ids as space separated numbers (ruid, euid, groups) # -g Output only the euid as a number # -n Output name instead of the numeric value (with -g/-G/-u) # -r Output ruid/rguid instead of effective id # -u Output only effective user id, as a number function usage() { printf("Usage:\n" \ "\tid [user]\n" \ "\tid -G [-n] [user]\n" \ "\tid -g [-nr] [user]\n" \ "\tid -u [-nr] [user]\n") > "/dev/stderr" exit 1 } BEGIN { # parse args while ((c = getopt(ARGC, ARGV, "Ggnru")) != -1) { if (c == "G") groupset_only++ else if (c == "g") egid_only++ else if (c == "n") names_not_groups++ else if (c == "r") real_ids_only++ else if (c == "u") euid_only++ else usage() } if (groupset_only && real_ids_only) usage() else if (ARGC - Optind > 1) usage() if (ARGC - Optind == 0) { # gather info for current user uid = PROCINFO["uid"] euid = PROCINFO["euid"] gid = PROCINFO["gid"] egid = PROCINFO["egid"] for (i = 1; ("group" i) in PROCINFO; i++) groupset[i] = PROCINFO["group" i] } else { fill_info_for_user(ARGV[ARGC-1]) real_ids_only++ } if (groupset_only) { if (names_not_groups) { for (i = 1; i in groupset; i++) { entry = getgrgid(groupset[i]) name = get_first_field(entry) printf("%s", name) if ((i + 1) in groupset) printf(" ") } } else { for (i = 1; i in groupset; i++) { printf("%u", groupset[i]) if ((i + 1) in groupset) printf(" ") } } print "" # final newline exit 0 } else if (egid_only) { id = real_ids_only ? gid : egid if (names_not_groups) { entry = getgrgid(id) name = get_first_field(entry) printf("%s\n", name) } else { printf("%u\n", id) } exit 0 } else if (euid_only) { id = real_ids_only ? uid : euid if (names_not_groups) { entry = getpwuid(id) name = get_first_field(entry) printf("%s\n", name) } else { printf("%u\n", id) } exit 0 } printf("uid=%d", uid) pw = getpwuid(uid) print_first_field(pw) if (euid != uid && ! real_ids_only) { printf(" euid=%d", euid) pw = getpwuid(euid) print_first_field(pw) } printf(" gid=%d", gid) pw = getgrgid(gid) print_first_field(pw) if (egid != gid && ! real_ids_only) { printf(" egid=%d", egid) pw = getgrgid(egid) print_first_field(pw) } for (i = 1; i in groupset; i++) { if (i == 1) printf(" groups=") group = groupset[i] printf("%d", group) pw = getgrgid(group) print_first_field(pw) if ((i + 1) in groupset) printf(",") } print "" } function get_first_field(str, a) { if (str != "") { split(str, a, ":") return a[1] } } function print_first_field(str) { first = get_first_field(str) printf("(%s)", first) } function fill_info_for_user(user, pwent, fields, groupnames, grent, groups, i) { pwent = getpwnam(user) if (pwent == "") { printf("id: '%s': no such user\n", user) > "/dev/stderr" exit 1 } split(pwent, fields, ":") uid = fields[3] + 0 gid = fields[4] + 0 groupnames = getgruser(user) split(groupnames, groups, " ") for (i = 1; i in groups; i++) { grent = getgrnam(groups[i]) split(grent, fields, ":") groupset[i] = fields[3] + 0 } }