على يونيكس، والعثور على إذا كان المستخدم الذي نفذ هذا البرنامج هو الجذر؟
-
22-07-2019 - |
سؤال
وأنا أكتب نصي أشعل النار، وأود أن كشف (باستخدام روبي بدلا من باش إن أمكن) إذا كان المستخدم الذي تنفيذ البرنامج النصي أشعل النار لديه امتيازات الجذر.
وإذا لم يتم استئصال ثم أود أن إنهاء البرنامج النصي.
المحلول
استخدم uid
أو <وأ href = "HTTP: //www.ruby-doc.org/core/classes/Process.html#M003204 "يختلط =" noreferrer "> euid
في في Process
الطبقة :
raise 'Must run as root' unless Process.uid == 0
نصائح أخرى
وأنا لا أعرف روبي، ولكن ماذا تريد أن تحقق من هو إذا كان معرف المستخدم 0. في C، يمكنك أن تفعل ذلك عن طريق فحص <لأ href = "http://linux.die.net/man / 2 / getuid "يختلط =" نوفولو noreferrer "> getuid()
. من سطر الأوامر يونكس، هل يمكن أيضا التحقق من إخراج id -u
.
لا تنتمي إلى StackOverflow