सवाल अपटाइम गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए कोई आउटपुट दिखाता है


मेरे पास 12.04 एलटीएस सिस्टम है जहां अपटाइम कमांड सामान्य द्वारा चलाए जाने पर आउटपुट उत्पन्न करता है (यानी रूट नहीं है) उपयोगकर्ता:

bbx@bard:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:    12.04
Codename:   precise
bbx@bard:~$ id
uid=1000(bbx) gid=1000(bbx) groups=1000(bbx),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),111(lpadmin),112(sambashare)
bbx@bard:~$ w
 10:42:56 up 21 days, 21:31,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    redacted          10:35    0.00s  0.35s  0.00s w
bbx@bard:~$ uptime
bbx@bard:~$ echo $?
0

भी ...

bbx@bard:~$ ls -l /proc/uptime /proc/loadavg
-r--r--r-- 1 root root 0 Jan 21 12:57 /proc/loadavg
-r--r--r-- 1 root root 0 Jan 21 12:57 /proc/uptime

और स्ट्रेस आउटपुट है पेस्टबिन से उपलब्ध है।

इस बीच, अपटाइम ठीक काम करता है, (आउटपुट डब्ल्यू (1) कमांड से मेल खाता है,) जब रूट द्वारा बुलाया जाता है:

root@bard:~# id
uid=0(root) gid=0(root) groups=0(root)
root@bard:~# uptime
 10:45:49 up 21 days, 21:34,  1 user,  load average: 0.00, 0.01, 0.05

किसी को पता है क्यों?


1
2018-01-21 15:49


मूल


क्या आप का आउटपुट जोड़ सकते हैं ls -l /proc/uptime /proc/loadavg आपके प्रश्न के लिए? और जब आप इसमें हैं, भागो strace uptime > ~/strace-uptime.txt 2>&1अपलोड करें ~/strace-uptime.txt कहीं फ़ाइल करें और इसे यहां लिंक करें। - gertvdijk


जवाब:


आपके द्वारा प्रदान की गई स्ट्रेस को देखें:

बीबीएक्स @ बार्ड: ~ $ और स्ट्रेस-अपटाइम.txt
execve ( "/ घर / BBX / bin / सक्रिय रहने की अवधि", [" अपटाइम "], [/ * 15 वर्ण * /]) = 0
...

आपका गैर रूट उपयोगकर्ता bbx में एक स्क्रिप्ट है ~/bin/uptime जो निष्पादित हो जाता है। जब रूट के रूप में भाग गया, एक और uptime कार्यक्रम निष्पादित हो जाता है। इसे हल करने के लिए, क्या जांचें /home/bbx/bin/uptime वहाँ कर रहा है और यदि संभव हो तो इसे हटा दें। अन्यथा, पूर्ण पथ का उपयोग करें (/usr/bin/uptime)।


2
2018-01-21 18:09



<प्रकाश बल्ब> ओह, हां, ज़ाहिर है। मैं भूल गया कि उस स्क्रिप्ट उस उपयोगकर्ता के पथ में थी। तलाश के लिए धन्यवाद! - Craig Constantine