සියලුම පරිශීලකයින් ලැයිස්තුගත කිරීමට විධානයක්? පරිශීලකයින් එකතු කිරීම, මකා දැමීම, වෙනස් කිරීම කරන්නේ කෙසේද?


906

ටර්මිනලයේ සියලුම පරිශීලකයින් ලැයිස්තුගත කිරීමට මට විධානයක් අවශ්‍යයි. ටර්මිනලයේ සිට පරිශීලකයින් එකතු කිරීම, මකා දැමීම, වෙනස් කිරීම කරන්නේ කෙසේද.

ටර්මිනලය මඟින් ඔබගේ ගිණුම් පහසුවෙන් පරිපාලනය කිරීමට එය උපකාරී වේ.


3
sed answersed 's/:.*//' /etc/passwd
අවිනාශ් රාජ්

2
ලැයිස්තු පරිශීලකයින්:awk -F: '{ print $1 }' /etc/passwd
saviour123

Answers:


1206

ලැයිස්තුවට

ඔබට භාවිතා කළ හැකි සියලුම දේශීය පරිශීලකයින් ලැයිස්තුගත කිරීමට:

cut -d: -f1 /etc/passwd

දේශීය නොවන අය ඇතුළුව (යම් ආකාරයකින්) සත්‍යාපනය කළ හැකි සියලුම පරිශීලකයින් ලැයිස්තුගත කිරීමට, මෙම පිළිතුර බලන්න .

තවත් ප්‍රයෝජනවත් පරිශීලක කළමනාකරණ විධානයන් ( දේශීය පරිශීලකයින්ට පමණක් සීමා වේ ):

එකතු කිරීමට

නව පරිශීලකයෙකු එක් කිරීමට ඔබට භාවිතා කළ හැකිය:

sudo adduser new_username

හෝ:

sudo useradd new_username

මෙයද බලන්න: ඇඩෝසර් සහ යූස්රාඩ් අතර වෙනස කුමක්ද?

ඉවත් කිරීමට / මකා දැමීමට

පරිශීලකයෙකු ඉවත් කිරීමට / මකා දැමීමට, පළමුව ඔබට මෙය භාවිතා කළ හැකිය:

sudo userdel username

එවිට ඔබට මකාදැමුණු පරිශීලක ගිණුම සඳහා නිවාස නාමාවලිය මකා දැමීමට අවශ්‍ය විය හැකිය:

sudo rm -r / home / username

කරුණාකර ඉහත විධානය ප්‍රවේශමෙන් භාවිතා කරන්න!

වෙනස් කිරීමට

පරිශීලකයෙකුගේ පරිශීලක නාමය වෙනස් කිරීමට:

usermod -l new_username old_username

පරිශීලකයෙකු සඳහා මුරපදය වෙනස් කිරීමට:

sudo passwd username

පරිශීලකයෙකු සඳහා කවචය වෙනස් කිරීමට:

sudo chsh username

පරිශීලකයෙකු සඳහා විස්තර වෙනස් කිරීමට (උදාහරණයක් ලෙස සැබෑ නම):

sudo chfn username

sudoකණ්ඩායමට පරිශීලකයෙකු එක් කිරීමට :

adduser username sudo

හෝ

usermod -aG sudo username

එමෙන්ම, සැබැවින්ම, ද බලන්න: man adduser, man useradd, man userdel... සහ මත එසේ.


12
sudo chfn <username>පරිශීලක තොරතුරු වෙනස් කරන්නේ කුමක් දැයි සඳහන් කිරීමට රදුට අමතක විය (උදාහරණයක් ලෙස සැබෑ නම). මම මෙය අදහස් දැක්වීමක් ලෙස එක් කිරීමට උත්සාහ කළෙමි, නමුත් එසේ කිරීමට මට +50 කීර්තියක් තිබිය යුතු යැයි පැවසීමේ දෝෂයක් ඇතිවිය.
මයිකල්

2
සම්බන්ධිත ප්‍රශ්නයට නිවැරදි පිළිතුර askubuntu.com/a/381646/16395 බව අවධාරණය කළ යුතු යැයි මම සිතමි --- එසේ නොමැතිනම් ඔබ GID / UID උබුන්ටු ප්‍රතිපත්ති අතින් සැලකිල්ලට ගත යුතුය. පිළිගත් පිළිතුර එතරම් පැහැදිලි නැත.
රමානෝ

sudo userdel DOMAIN \\ johndoe මට දෝෂය ලබා දෙයි: "userdel: 'DOMAIN \ johndoe' / etc / passwd වෙතින් ඉවත් කළ නොහැක - මම / etc / passwd දෙස බැලුවෙමි, ඔවුන් එහි නොසිටියේය, බොහෝ විට එය" වසම "ගිණුම?
00fruX

1
@ 00fruX ඔව් ... ඔබ මධ්‍යගත පරිශීලක දත්ත ගබඩාවක් භාවිතා කරන්නේ නම් ඔබට එය සමඟ කෙලින්ම ගනුදෙනු කිරීමට අවශ්‍ය වනු ඇත.
ඔලි


95

ටර්මිනලය විවෘත කිරීමට ඔබගේ යතුරුපුවරුවේ Ctrl+ Alt+ ඔබන්න T. එය විවෘත වූ විට, පහත විධානය ක්‍රියාත්මක කරන්න:

cat /etc/passwd

හෝ

less /etc/passwd
more /etc/passwd

ඔබට awk: awk ද භාවිතා කළ හැකිය

awk -F':' '{ print $1}' /etc/passwd

විධානය මඟින් පරිශීලකයින් එකතු කරන්නේ කෙසේද?
nux

ඔබට useradd විධානය භාවිතා කළ හැකිය .
මිච්

xnux සාදයට ටිකක් ප්‍රමාද වූ නමුත් adduserඒ වෙනුවට විධාන රේඛා භාවිතයෙන් useraddකතුවරයා තමා කරන්නේ කුමක්දැයි සැබවින්ම දන්නා ස්ක්‍රිප්ට් වලට පමණක් සීමා විය යුතුය.
flindeberg

71

මේ ආකාරයේ තොරතුරු ලබා ගැනීමට ඇති පහසුම ක්‍රමය නම් getent- විධානය සඳහා manpagegetentමෑන්පේජ් නිරූපකය බලන්න . cat /etc/passwdමතක තබා ගැනීම ප්‍රයෝජනවත් වන පරිදි එම විධානය එකම ප්‍රතිදානය ලබා දෙන අතර එය මෙහෙයුම් පද්ධතියේ මූලද්‍රව්‍ය කිහිපයක ලැයිස්තුවක් ඔබට ලබා දෙනු ඇත.

ඔබ ටයිප් කරන සියලුම පරිශීලකයින්ගේ ලැයිස්තුවක් ලබා ගැනීමට (පරිශීලකයින් ලැයිස්තුගත කර ඇති පරිදි /etc/passwd)

getent passwd

පරිශීලක එකතු කිරීමට newuser පද්ධතිය වෙත ඔබ ටයිප් කරන

sudo adduser newuser

සියලු පෙරනිමි සැකසුම් යෙදී ඇති පරිශීලකයෙකු නිර්මාණය කිරීමට.

පාරිතෝෂිකය : ඕනෑම පරිශීලකයෙකු (උදාහරණයක් ලෙස ඕනෑම පරිශීලකයෙකු ) කණ්ඩායමකට එක් කිරීම (උදාහරණයක් ලෙස cdrom ) වර්ගයට

sudo adduser anyuser cdrom

ඔබ භාවිතා කරන්නෙකු මකා දමයි (උදාහරණයක් ලෙස යල්පැන ඇති )

sudo deluser obsolete

ඔබට ඔහුගේ නිවාස නාමාවලිය / තැපැල් මකා දැමීමට අවශ්‍ය නම් ඔබ ටයිප් කරන්න

sudo deluser --remove-home obsolete

හා

sudo deluser --remove-all-files obsolete

මුළු පද්ධතියේම පරිශීලකයා සහ මෙම පරිශීලකයා සතු සියලුම ගොනු ඉවත් කරනු ඇත .


9
ලබා ගැනීම හුදෙක් / etc / passwd හි පරිශීලකයින්ගේ ප්‍රතිදානය මුද්‍රණය නොකරන බව මතක තබා ගැනීම ප්‍රයෝජනවත් නමුත් ලබා දී ඇති පද්ධතියක වින්‍යාසගත කර ඇති පරිශීලක db බැකන්ඩ් වල ඇති සියලුම පරිශීලකයින්, එය / etc / passwd හෝ LDAP යනාදිය වේවා
මාකින් කමින්ස්කි

1
Arc මාකින් කමින්ස්කි හරි, එය සේවාදායකයට ප්‍රවේශය ඇති SSO පද්ධතිවල පරිශීලකයින්ගේ සැකසුම මුද්‍රණය කරයි. මෙම පිළිතුර සමඟ, හොඳම එක තමයි getent passwdහරි විධානය වීම
ulkas

ArmarcinKaminski සියළුම ගණන් කළ හැකි පරිශීලක පසුබිම් වලින්
jrw32982 මොනිකා

47

ඔබට compgen GNU bash බිල්ට් ඉන් භාවිතා කළ හැකිය :

compgen -u

සියලු පරිශීලකයින් ලැයිස්තුගත කරයි.


2
කෙටිම හා වැඩ කරන! මගේ මතය අනුව පිළිගත් එකක් විය යුතුය.
Nam G VU

එය සම්පූර්ණ ප්‍රශ්නයට පිළිතුරු නොදෙන බව හැර, පළමු කොටස පමණි.
hmcclungiii

28

මෙය බොහෝ සාමාන්‍ය තත්වයන් යටතේ සියලුම සාමාන්‍ය (පද්ධති නොවන, අමුතු නොවේ) භාවිතා කරන්නන් ලබා ගත යුතුය:

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

මෙය ක්‍රියාත්මක වන්නේ:

  • සිට කියවීම /etc/passwd
  • :පරිසීමකයක් ලෙස භාවිතා කිරීම
  • තෙවන ක්ෂේත්‍රය (පරිශීලක හැඳුනුම් අංකය) 1000 ට වඩා විශාල වන අතර 65534 නොවේ නම්, පළමු ක්ෂේත්‍රය (පරිශීලකයාගේ පරිශීලක නාමය) මුද්‍රණය කෙරේ.

මෙයට හේතුව බොහෝ ලිනක්ස් පද්ධති වල 1000 ට වැඩි පරිශීලක නාමයන් නුසුදුසු (ඔබට සාමාන්‍ය යැයි කිව හැකිය) භාවිතා කරන්නන් සඳහා වෙන් කර තිබීමයි. මේ පිළිබඳ සමහර තොරතුරු මෙහි :

පරිශීලක හැඳුනුම්පතක් (යූඅයිඩී) යනු එක් එක් පරිශීලකයාට යුනික්ස් වැනි මෙහෙයුම් පද්ධතියක් විසින් පවරා ඇති අද්විතීය ධනාත්මක නිඛිලයකි. සෑම පරිශීලකයෙකුම එහි UID මගින් පද්ධතියට හඳුනාගෙන ඇති අතර පරිශීලක නාම සාමාන්‍යයෙන් භාවිතා කරනුයේ මිනිසුන් සඳහා අතුරු මුහුණතක් ලෙස පමණි.

UIDs ඒවායේ අනුරූප පරිශීලක නාම සහ වෙනත් පරිශීලක විශේෂිත තොරතුරු සමඟ / etc / passwd ගොනුවේ ගබඩා කර ඇත ...

තෙවන ක්ෂේත්‍රය තුළ UID අඩංගු වන අතර, සිව්වන ක්ෂේත්‍රය තුළ කණ්ඩායම් හැඳුනුම්පත (GID) අඩංගු වන අතර එය පෙරනිමියෙන් සියලුම සාමාන්‍ය පරිශීලකයින් සඳහා UID ට සමාන වේ.

ලිනක්ස් කර්නල් 2.4 සහ ඊට ඉහළින්, UIDs අත්සන් නොකල 32-බිටු නිඛිල වන අතර එමඟින් ශුන්‍යයේ සිට 4,294,967,296 දක්වා අගයන් නිරූපණය කළ හැකිය. කෙසේ වෙතත්, බිට් 16 UID වලට පමණක් ඉඩ දිය හැකි පැරණි කර්නල් හෝ ගොනු පද්ධති භාවිතා කරන පද්ධති සමඟ අනුකූලතාව පවත්වා ගැනීම සඳහා අගයන් 65,534 දක්වා පමණක් භාවිතා කිරීම සුදුසුය.

0 හි UID විශේෂ කාර්යභාරයක් ඇත: එය සැමවිටම මූල ගිණුම වේ (එනම් සර්වබලධාරී පරිපාලන පරිශීලකයා). මෙම ගිණුමේ පරිශීලක නාමය වෙනස් කළ හැකි අතර එකම UID සමඟ අතිරේක ගිණුම් නිර්මාණය කළ හැකි වුවද, ආරක්ෂක දෘෂ්ටි කෝණයකින් කිසිදු ක්‍රියාමාර්ගයක් නැණවත් නොවේ.

සාමාන්‍ය (එනම් වරප්‍රසාද නොලත්) පරිශීලකයෙකුට වඩා UID 65534 සාමාන්‍යයෙන් කිසිවෙකු සඳහා වෙන් කර ඇත, පද්ධති වරප්‍රසාද නොමැති පරිශීලකයෙකි. මෙම UID බොහෝ විට FTP (ගොනු හුවමාරු ප්‍රොටෝකෝලය) හෝ HTTP (හයිපර් ටෙක්ස්ට් ට්‍රාන්ස්ෆර් ප්‍රොටොකෝලය) හරහා දුරස්ථව පද්ධතියට ප්‍රවේශ වන පුද්ගලයින් සඳහා භාවිතා කරයි.

1 සිට 99 දක්වා UIDs සාම්ප්‍රදායිකව විශේෂ පද්ධති පරිශීලකයින් සඳහා (සමහර විට ව්‍යාජ පරිශීලකයින් ලෙස හැඳින්වේ), එනම් රෝද, ඩීමන්, එල්පී, ක්‍රියාකරු, ප්‍රවෘත්ති, තැපැල් යනාදිය සඳහා වෙන් කර ඇත. මෙම පරිශීලකයින් සම්පූර්ණ මූල බලයන් අවශ්‍ය නොවන නමුත් ක්‍රියා කරන පරිපාලකයින් වේ. සමහර පරිපාලනමය කාර්යයන් වන අතර සාමාන්‍ය පරිශීලකයින්ට ලබා දී ඇති වරප්‍රසාදවලට වඩා වැඩි වරප්‍රසාද අවශ්‍ය වේ.

සමහර ලිනක්ස් බෙදාහැරීම් (එනම් අනුවාදයන්) වරප්‍රසාද නොලත් පරිශීලකයින් සඳහා යූඅයිඩී 100 කින් ආරම්භ කරයි. රෙඩ් හැට් වැනි ඒවා 500 කින් ආරම්භ වන අතර තවත් සමහරක් ඩෙබියන් ඒවා 1000 ට ආරම්භ කරයි. බෙදාහැරීම් අතර ඇති වෙනස්කම් නිසා, අත්පොත සංවිධානයක ජාලයක බහු බෙදාහැරීම් භාවිතා කරන්නේ නම් මැදිහත් වීමක් අවශ්‍ය වේ.

එසේම, 1000 සිට 9999 දක්වා දේශීය පරිශීලකයින් සඳහා යූඅයිඩී බ්ලොක් එකක් වෙන් කිරීම පහසු වන අතර දුරස්ථ පරිශීලකයින් සඳහා තවත් බ්ලොක් එකක් (එනම් ජාලයේ වෙනත් තැනක භාවිතා කරන්නන්) එනම් 10000 සිට 65534 දක්වා වෙන් කරවා ගත හැකිය. වැදගත් දෙය තීරණය කිරීම යෝජනා ක්‍රමයක් මත එය පිළිපදින්න.

විශේෂිත පරිශීලකයින් සඳහා සංඛ්‍යා කුට්ටි වෙන් කිරීමේ මෙම භාවිතයේ ඇති වාසි අතර, සැක සහිත පරිශීලක ක්‍රියාකාරකම් සඳහා පද්ධති ලොග් හරහා සෙවීම වඩාත් පහසු කරයි.

ජනප්‍රිය විශ්වාසයන්ට පටහැනිව, UID ක්ෂේත්‍රයේ සෑම ප්‍රවේශයක්ම අද්විතීය වීම අවශ්‍ය නොවේ. කෙසේ වෙතත්, අද්විතීය නොවන UIDs ආරක්ෂක ගැටළු ඇති කළ හැකි අතර එමඟින් UIDs සමස්ත ආයතනය පුරාම අද්විතීයව තබා ගත යුතුය. ඒ හා සමානව, කලින් භාවිතා කරන්නන්ගෙන් UID ප්‍රතිචක්‍රීකරණය කිරීම හැකි තාක් කල් වළක්වා ගත යුතුය.


1
පාහේ පරිපූර්ණ පිළිතුර, නමුත් භාවිතා කිරීමට එක් රටකින් එය ගේ පිරිසිදු getentසිට කෙළින්ම කියවීම වෙනුවට /etc/passwdසහ විමසුම් UID_MIN/ UID_MAXවටිනාකම් දුෂ්කර කේතනය වෙනුවට:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
මැක්ස් Truxa

18

පුරනය විය හැකි සියලුම පරිශීලකයින්ගේ ලැයිස්තුව (පද්ධති භාවිතා කරන්නන් කැමති නැත: බින්, ඩීමන්, තැපැල්, සයිස්, ආදිය)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

නව පරිශීලකයෙකු එක් කරන්න

sudo adduser new_username

හෝ

sudo useradd new_username

පරිශීලක නාමය මකන්න / ඉවත් කරන්න

sudo userdel username

ඔබට නිවාස නාමාවලිය මකා දැමීමට අවශ්‍ය නම් (පෙරනිමිය නාමාවලිය / නිවාස / පරිශීලක නාමය)

sudo deluser --remove-home username

හෝ

sudo rm -r /path/to/user_home_dir

ඔබට මෙම පරිශීලකයාගෙන් පද්ධතියෙන් සියලුම ලිපිගොනු මකා දැමීමට අවශ්‍ය නම් (නිවසේ නියෝගය පමණක් නොවේ)

sudo deluser --remove-all-files

1
සමහර විට ඔබ adduserසහ අතර වෙනස පැහැදිලි කළ යුතුය useradd. sudoපළමු විධානයට -prefix ද එක් කරන්න . මුරපද සෙවනැලි ගොනුව කියවිය හැක්කේ root ලෙස පමණි.
s3lph

1
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadowබින්, ඩීමන් ඇතුළු සියලුම පරිශීලකයින් මට පෙන්වූ අතර මෙම අනතුරු ඇඟවීම විසි කළේය: ගැලවීමේ අනුක්‍රමය \$' treated as plain $ 'මම මෙම පෝස්ට් එක stackoverflow.com/a/25867768/847954 සොයාගෙන තවත් බැක්ස්ලෑෂ් එකක් එකතු කළ අතර එය හොඳින් ක්‍රියාත්මක විය:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
ජෙෆ් කස්තුරි

8

හරි මෙන්න මෙය වර්ග කිරීමට ඔබට උපකාරී වන උපක්‍රමයක්. ඔබ පරිශීලකයා ටයිප් කර ටැබ් යතුර දෙවරක් එබුවහොත් ටර්මිනලය ස්වයංක්‍රීයව සම්පූර්ණ වේ. එය පරිශීලකයා සමඟ ඇති සියලුම විධාන පළමු අක්ෂර 4 ලෙස ලැයිස්තුගත කරයි.

user (tab tab)

ඔබට හැකි විකල්පයන් ලබා දෙයි useradd userdel usermod users users-admin
ඔබට ගූගල් විධානයක් ගැන වැඩි විස්තර දැන ගැනීමට අවශ්‍ය නම් හෝ man man useradd ටයිප් කරන්න useradd - නව පරිශීලකයෙකු නිර්මාණය කරන්න හෝ පෙරනිමි නව පරිශීලක තොරතුරු යාවත්කාලීන කරන්න ... ...

පරිශීලකයින් ලැයිස්තු ගත කිරීම සඳහා ඔබ මිච් පැවසූ දේ සමඟ යා යුතුය.

ටැබ් එක සම්පුර්ණ කිරීමට මට ආදරය කරන බලාපොරොත්තුව දේවල් මතක තබා ගැනීමෙන් මාව බේරා ගනී.


මෙම ක්‍රමය බොහෝ විට තිරය පිටුපස compgen භාවිතා කරයි, මෙම අනෙක් පිළිතුර බලන්න: askubuntu.com/a/925312/830543
gmarmstrong

7

යන්ත්‍රයේ / home-folder හි නිවාස නාමාවලි ඇති පරිශීලකයින් සොයා ගැනීමට, පහත දැක්වෙන විධානයන් ක්‍රියාත්මක කරන්න

cd /home
ls 

එවිට ඔබට සේවාදායකයට ප්‍රවේශ වීමට අවසර ඇති පරිශීලකයින් දැකිය හැකිය. අපට ඕනෑම පරිශීලකයෙකුගේ ලිපිගොනු සොයා බැලීමට අවශ්‍ය නම්, ඔබ root පරිශීලකයා විය යුතුය.


9
මෙය පෙන්වන්නේ අන්තර්ගතය පමණි /home. උබුන්ටු පෙරනිමියෙන් පරිශීලක නාමාවලි එහි තබන නමුත් එය කිසිසේත් අනිවාර්ය නොවේ.
ඩේවිඩ් ෆෝස්ටර්

1
ls /homeමකා දැමූ පරිශීලකයින්ගේ පරිශීලක නාමාවලි ද අඩංගු විය හැකිය.
සුරාජ්

0

පළමු පිළිතුර නිර්දේශ කරන්නේ:

cut -d: -f1 /etc/passwd

නමුත් මෙය භාවිතා කිරීමෙන් සහ ඔබට ලැබෙන පරිශීලකයින් ගණන ගණන් කිරීම:

$ cut -d: -f1 /etc/passwd | wc -l
46

ලැප්ටොප් පරිගණකයක් සඳහා පරිශීලකයින් 46 ක් ගොඩක්! එබැවින් ඒ වෙනුවට මෙය භාවිතා කරන්න:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1
root
rick
guest-atkb2q
guest-u4sf2i
guest-rmlbtg
guest-mz53vp

ආගන්තුක ගිණුම් ඉවත් කිරීමට (කෙසේ වෙතත් ගොනු සුරකින ලද) භාවිතා කරන්න:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1
root
rick

ලැයිස්තුවෙන් ඉවත් කරන ලද සමහර නියැදි පරිශීලකයින්:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sync:x:4:65534:sync:/bin:/bin/sync
guest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

තනි පරිශීලක පද්ධතියක බොහෝ පරිශීලකයින් සැබවින්ම පරිශීලකයින් ලෙස තමන් විසින්ම සකසා ගත් වැඩසටහන් බව එයින් පෙනේ.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.