Câu hỏi thời gian hoạt động cho thấy không có đầu ra cho người dùng không có đặc quyền


Tôi có một hệ thống 12.04LTS nơi lệnh thời gian hoạt động sản xuất không có đầu ra khi chạy bởi một người dùng bình thường (có nghĩa là, không phải root,):

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

cũng thế...

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

Và đầu ra strace là có sẵn từ PasteBin.

Trong khi đó, thời gian hoạt động tốt, (đầu ra khớp với lệnh w (1),) khi được gọi bởi root:

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

Có ai biết tại sao không?


1
2018-01-21 15:49


gốc


Bạn có thể thêm đầu ra của ls -l /proc/uptime /proc/loadavg cho câu hỏi của bạn? Và trong khi bạn đang ở đó, hãy chạy strace uptime > ~/strace-uptime.txt 2>&1, tải lên ~/strace-uptime.txt tập tin ở đâu đó và liên kết nó ở đây. - gertvdijk


Các câu trả lời:


Nhìn vào strace được cung cấp bởi bạn:

bbx @ bard: ~ $ more strace-uptime.txt
execve ("/ home / bbx / bin / thời gian hoạt động", [" thời gian hoạt động "], [/ * 15 vars * /]) = 0
...

Người dùng không phải root của bạn bbx có một kịch bản trong ~/bin/uptime được thực hiện. Khi chạy dưới dạng root, cái khác uptime chương trình được thực hiện. Để giải quyết vấn đề này, hãy kiểm tra xem /home/bbx/bin/uptime đang làm việc đó và xóa nó nếu có thể. Nếu không, hãy sử dụng đường dẫn đầy đủ (/usr/bin/uptime).


2
2018-01-21 18:09



<bóng đèn> Ồ, vâng, tất nhiên rồi. Tôi quên tập lệnh đó nằm trong đường dẫn cho người dùng đó. Cảm ơn bạn đã tìm kiếm! - Craig Constantine