उपयोगकर्ता नाम के बजाय uid को रिपोर्ट करने के लिए ps क्या कारण होगा?


28

मेरे पास मेरी लिनक्स मशीन पर यूकेलिप्टस स्थापित है, और मैंने देखा है कि यूकेलिप्टस उपयोगकर्ता के स्वामित्व वाली प्रक्रियाओं के लिए, पीएस उपयोगकर्ता नाम के बजाय उपयोगकर्ता रिपोर्ट करता है। उदाहरण के लिए:

$ sudo -i -u eucalyptus
$ ps u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
107      29764  0.0  0.0  19376  2104 pts/2    S    11:43   0:00 -bash
107      30198  0.0  0.0  15256  1180 pts/2    R+   11:44   0:00 ps u

इससे क्या होगा?

ध्यान दें कि / etc / passwd में एक उचित प्रविष्टि है:

$ grep eucalyptus /etc/passwd
eucalyptus:x:107:115::/var/lib/eucalyptus:/bin/bash

यह भी ध्यान दें कि ls गुण यूकेलिप्टस खाते द्वारा फाइलों के स्वामित्व की रिपोर्ट करता है:

$ touch foo
$ ls -l foo
-rw-r--r-- 1 eucalyptus eucalyptus 0 2010-09-23 11:47 foo

जवाबों:


41

ps उपयोगकर्ता नाम 8 वर्णों से अधिक लंबा होने पर यूआईडी का उपयोग करता है।


अच्छा निर्णय। मैन पेज से: "यह टेक्सुअल यूजर आईडी होगी, अगर इसे प्राप्त किया जा सकता है और फील्ड चौड़ाई परमिट या एक दशमलव प्रतिनिधित्व है अन्यथा।"
माइकल Mrozek

या शायद नाम का यूआईडी अनुवाद करने का कोई तरीका नहीं है।
वॉनब्रांड २३'१३

12

आप स्तंभों की चौड़ाई को नियंत्रित कर सकते हैं:

ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm

यह के uप्रारूप को पुन: पेश करता है ps u, लेकिन यह उपयोगकर्ता के क्षेत्र को 12 वर्णों को विस्तृत बनाता है।


0

सुनिश्चित करें कि आपको अपने / etc / passwd से कोई समस्या है ... आपने इसे मैन्युअल रूप से संपादित किया है, क्या आपने नहीं किया? :)

वैसे भी, मैंने / / etc / passwd में उपयोगकर्ता की लाइन की प्रतिलिपि बनाने और उपयोगकर्ता आईडी द्वारा उपयोगकर्ता नाम बदलने में समस्या को पुन: पेश किया

ऐशे ही:

root@juice:/etc/# grep 129 /etc/passwd
129:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
puppet:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false

ध्यान दें कि "क्रमांकित उपयोगकर्ता" सबसे पहले है।

root@juice:/etc/# sudo -u puppet -s
129@juice:/etc/$ whoami
129

129@juice:/etc/$ touch /tmp/a
129@juice:/etc/$ ls -l /tmp/a
-rw-r--r-- 1 129 puppet 0 2010-09-23 19:12 /tmp/a

129@juice:/etc/$ ps u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
129      12443  2.2  0.1   7112  4380 pts/1    S    19:12   0:00 /bin/bash
129      12490  0.0  0.0   2716  1068 pts/1    R+   19:12   0:00 ps u

"हूमी" को निष्पादित करने की कोशिश करें, सुनिश्चित करें कि यह 107 पर लौट आए :)

यह एक अजीब व्यवहार है, पीएस नंबर देता है और सामान्य नाम ls: -m ...

इसे हल करने के लिए:

  • बस संपादित करें / आदि / पासवार्ड और गलत प्रविष्टि को हटा दें
  • या 'userdel 107' का उपयोग करें, लेकिन नीलगिरी के सभी कार्यक्रमों को रोक दिया जाना चाहिए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.