කණ්ඩායමකින් පරිශීලකයෙකු ඉවත් කරන්නේ කෙසේද?


378

ඩේබියන් හි කණ්ඩායමකින් පරිශීලකයෙකු ඉවත් කිරීමට මා භාවිතා කළ යුතු විධානය කුමක්ද?

කණ්ඩායමකට පරිශීලකයෙකු එකතු කරන විට, එය කළ හැක්කේ:

usermod -a -G group user

කෙසේ වෙතත්, පරිශීලකයා කණ්ඩායමෙන් ඉවත් කිරීම සඳහා සමාන විධානයක් (කණ්ඩායමක් සහ පරිශීලකයෙකු තර්ක ලෙස පිළිගැනීම) මට සොයාගත නොහැකි විය. මට ලබා ගත හැකි ආසන්නතම දෙය නම්:

usermod -G all,existing,groups,except,for,group user

usermod OPTION group userOPTION සමඟ විධානයක් තිබේද usermod(හෝ ඒ හා සමාන වැඩසටහනක්) පරිශීලකයා සමූහයෙන් ඉවත් කිරීමට?


2
මෙහි අවසන් වන ෆෙඩෝරා භාවිතා කරන්නන් සඳහා, man usermod විසින් -G විකල්ප අදහස් දැක්වීම් මගින් හෙළි කරනුයේ සියලුම වත්මන් කණ්ඩායම් රඳවා තබා ගැනීමට අපේක්ෂා කරන කණ්ඩායමක් ලැයිස්තුවක් මකා දැමීමේ ක්‍රමය බවයි. ෆෙඩෝරා සමඟ -R විකල්පයක් නැත; ඔහු මග හැරීමට උත්සාහ කරන ලෙකන්ස්ටයින්ගේ ප්‍රවේශය ඔබ භාවිතා කළ යුතුය.
ස්ටීවන්

Answers:


449

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

# gpasswd -d user group

නව කණ්ඩායම් වින්‍යාසය ඊළඟ පිවිසුමේදී අවම වශයෙන් ඩේබියන් මත පවරා ඇත. පරිශීලකයා ප්‍රවිෂ්ට වී ඇත්නම්, විධානයේ බලපෑම් වහාම නොපෙනේ.


12
පරිපූර්ණ ස්තූතියි! gpasswd -a user groupමක්නිසාද යත් පරිශීලකයා කණ්ඩායමට එක් කිරීම වඩාත් හොඳ බව පෙනේ, විශේෂයෙන් යතුරු ලියනය කර ඇති අතර -aවිකල්පය අතහැර දමනු ලැබේ.
ලෙකන්ස්ටයින්

1
මට වැඩ කරන්නේ නැහැ. මට පණිවිඩ දෙකක් ලැබේ: අ) පරිශීලකයා කණ්ඩායමෙන් ඉවත් කිරීම. b) gpasswd: පරිශීලකයා කණ්ඩායමේ සාමාජිකයෙක් නොවේ. පසුව "සාමාජික කණ්ඩායම" ධාවනය කිරීමෙන් කිසිදු වෙනසක් නොපෙන්වයි.
භූ විද්‍යාව

1
@geoidesic ඔබට බලපෑම බැලීමට නැවත ලොග් වී නැවත පුරනය විය යුතුය
වාසිෆ් හුසේන්

1
නැවත පුරනය නොවී වෙනස බලාත්මක කිරීමට ක්‍රමයක් තිබේද?
ඇන්ඩි ෆුස්නියැක්

2
ogeoidesic මට මෙම දෝෂයන් Centos 7 හි ලැබුණි. ඔබ මෙය පරිශීලකයාගේ පෙරනිමි කණ්ඩායමෙන් ඉවත් කිරීමට උත්සාහ කරන්නේ නම් ඔබට මෙය ඇති බව මට පෙනී ගියේය. පෙරනිමි කණ්ඩායම මාරු කර usermod -g user userඒවා ඉවත් කිරීමට උත්සාහ කරන්න.
PanPipes

187

ඩේබියන් හි, adduserපැකේජයේ අඩංගු deluserවන්නේ ඔබ දෙදෙනාම තර්ක ලෙස සමත් වුවහොත් කණ්ඩායමකින් පරිශීලකයෙකු ඉවත් කරන වැඩසටහනකි:

deluser user group

ඔබේ බෙදා හැරීමේ නොමැති නම් adduser, ඔබ එය සංස්කරණය කළ හැක /etc/groupසහ /etc/gshadowඅතින්.

vigr
vigr -s

11
මම වගේ වැඩසටහන් දන්නේ නැහැ vigrහා vipw. මෑන්පේජ් බොහෝ දුරින් තිබේ නම් ඉතා ප්‍රයෝජනවත් වේ :)
ලෙකන්ස්ටයින්

4
විකල්පයක් ලෙස, එය සංස්කරණය කිරීමට වඩා යාවත්කාලීන කිරීමට /etc/groupධාවනය වෙනස් කිරීමෙන් පසුව . grpconv/etc/gshadow
සිරිල්

sudo deluser jenkins admin/ usr / sbin / deluser: ඔබ පරිශීලකයා ඔවුන්ගේ ප්‍රාථමික කණ්ඩායමෙන් ඉවත් නොකරනු ඇත.
ජොනතන්

On ජොනතන්ලීඩර්ස් සෑම පරිශීලකයෙකුම අවම වශයෙන් එක් කණ්ඩායමක සිටිය යුතුය. පරිශීලකයාගේ ප්‍රාථමික කණ්ඩායම භාවිතා කිරීම usermodහෝ vipwවෙනස් කිරීම. මෙම ප්‍රශ්නය අතිරේක කණ්ඩායම් ගැන විය.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

හොඳයි. adduser $user $groupඒ වෙනුවට සරල විධානය ද ඇත usermod -x -y -z -....
ygoe

74
usermod -G "" username

සියලුම ද්විතීයික / පරිපූරක කණ්ඩායම් පරිශීලක නාමයෙන් ඉවත් කර, ඔවුන්ගේ ප්‍රාථමික කණ්ඩායමේ පමණක් සාමාජිකයෙකු ලෙස තබයි. මෙය සොලාරිස් 5.9 හි වැඩ කළේය


5
CentOS 6.4 හි පරීක්ෂා කර ඇත; කටයුතු.
සමස්ථ 1166877

1
උබුන්ටු 12.04 හි ද වැඩ කරයි.
සමස්ථ 1166877

සියලුම ලැයිස්තුගත නොකළ කණ්ඩායම් හැර ද්විතීයික කණ්ඩායම් ඕනෑම කණ්ඩායම් ලැයිස්තුවකට බල කිරීමට හොඳම ක්‍රමය මෙය බව පෙනේ .
අග්ගිස්

1
CentOS 7 හි පරීක්ෂා කර වැඩ කිරීම. ස්තූතියි!
ට්‍රික්කි

මෙය හොඳම පිළිතුරයි.
වීසි

16

මෙය “පැරණි පාසැල්” ප්‍රවේශයයි ...

බොහෝ * nix පද්ධති පාඨ ගොනු බවට, කණ්ඩායම් තොරතුරු පවත්වා /etc/group, කොහෙද

  • සෑම පේළියකම ක්ෂේත්‍ර අඩංගු වේ

    • group_name
    • මුරපදය
    • GID, සහ
    • user_list

    :චරිතයෙන් වෙන් කර ඇත .

  • user_list ක්ෂේත්‍රය කොමා මඟින් වෙන් කරන ලද පරිශීලක නාම ලැයිස්තුවකි.

දැන් ඔබට නම් thisuser කරන ලද කණ්ඩායමකින් නම් කළ පරිශීලකයෙකු ඉවත් කිරීමට අවශ්‍ය යැයි සිතමු thatgroup. උපස්ථ කිරීමෙන් ආරම්භ කරන්න /etc/group, පසුව ගොනුව සංස්කරණය කිරීමට සහ වර්‍ග සටහනෙන් යොමු කිරීම ඉවත් කිරීමට su වරප්‍රසාද සහිත ඔබේ මනාපයේ සංස්කාරකය භාවිතා කරන්න , උදා./etc/groupthisuserthatgroup

මුල් පේළිය මේ වගේ දෙයක්:

thatgroup:x:1274:someuser,thisuser,anotheruser

සංස්කරණය කිරීමෙන් පසු මේ ආකාරයට තැබිය යුතුය:

thatgroup:x:1274:someuser,anotheruser

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


2
vigr/etc/groupඅතින් සංස්කරණය කිරීම සඳහා දැනටමත් සඳහන් කර ඇත. මගේ අත්පොත පිටුවල සඳහන් වන්නේ පරිශීලක නාම කොමා මඟින් වෙන් කර ඇති බවයි. නැවත ආරම්භ කිරීම අවශ්‍ය නොවේ, ඔබට නැවත පුරනය වීම අවශ්‍ය වේ (හෝ භාවිතා කරන්න newgrp).
ලෙකන්ස්ටයින්

හෝඩුවාවන් සොයමින් මෙම වෙරළට පහර දෙන ඕනෑම ඩේබියන් නොවන පරිශීලකයින්ට සහාය වීම සඳහා ... OP හි ප්‍රශ්නයේ විෂය පථය අනුව මෙය ඩේබියන් සඳහා ප්‍රමාණවත් විය හැකිය, නමුත් ඔබ මෙය * BSD මෙහෙයුම් පද්ධතියක් සඳහා භාවිතා කරන්නේ නම්, ඔබට සරල පෙළ ගොනුව වෙනස් කිරීමට අවශ්‍ය වනු ඇත. මෙහි සඳහන් කර ඇති පරිදි, එම ලැයිස්තුව සැබවින්ම භාවිතයට ගැනීමට pwd_mkdb -p /etc/master.passwd නිකුත් කරන්න.
danno

2

ඔබට SUSE බෙදාහැරීම් මත පහත විධානය භාවිතා කළ හැකිය (සහ, පෙනෙන හැටියට, වෙනත් කිසිවක් නැත ).

usermod -R කාණ්ඩය  user_name

එහිදී groupඔබ සහ පරිශීලකයා ඉවත් කිරීමට අවශ්ය බව කණ්ඩායමක් user_nameඔබ පිරිසක් ඉවත් කිරීමට අවශ්ය බව පරිශීලක. උදාහරණයක් වශයෙන්,

usermod -R root imnottheroot

1
ඔබේ පරිශීලක ද්විමය සපයන පැකේජය කුමක්ද? සෙවනැලි-උපයෝගීතා -4.1.4.3 වෙතින් මගේ -R විකල්පය ලබා නොදෙන බැවින් අනුවාදය සොයා ගැනීමට මම ඉල්ලා සිටිමි.
myroslav

3
මගේ සෙවනැල්ල 4.1.5.1-5 පැකේජයට (ආර්ච් ලිනක්ස්) -Rවිකල්පයක් ඇත, නමුත් එයින් අදහස් වන්නේ වෙනත් දෙයක්. මම අනුමාන කරන ලිනක්ස් නොවේ.
ලෙකන්ස්ටයින්

3
මට විශ්වාස නෑ මේක වැඩ කරයි කියලා. මෑන්පේජ් එක කියන්නේ -R: "-R, --root CHROOT_DIR CHROOT_DIR නාමාවලියෙහි වෙනස්කම් යොදන්න සහ CHROOT_DIR නාමාවලියෙන් වින්‍යාස ගොනු භාවිතා කරන්න."
මයික් කුසෝල්ඩ්

2
මට හොයා ආකාරයක සම්බන්ධ එකම දේ වූයේ මෙම ඔරකල් manpage, නමුත් ඒ එකම දෙයක් ගැන තවමත් නෑ, ඒ නිසා මෙම පිළිතුර සමහරවිට ඉවත් කළ යුතුය.
kyrias

sudo usermod -R admin jenkinsusermod: අවලංගු chroot path 'admin'
ජොනතන්

1

සලකා බලන්න:

  • පරිශීලක නාමය: abc2
  • කණ්ඩායම් නම: newgroup11

  • කාර්යය: පරිශීලකයා abc2කණ්ඩායමෙන් ඉවත් කිරීමnewgroup11

[root@home1 ~]# groups abc2
abc2 : abc2
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# groups abc2
abc2 : abc2 newgroup11
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# usermod -G abc2 abc2
[root@home1 ~]# groups abc2
abc2 : abc2

** මා වැරදියි නම් කරුණාකර මාව නිවැරදි කරන්න. **


1
මෙය "ක්‍රියා කරයි", නමුත් ඔබට තනි ද්විතියික කණ්ඩායමක් ඇති නිසා පමණි. usermod -G newgroup11 abc2ඔබව ද්විතීයික කණ්ඩායමට ඇතුළත් කරනු newgroup11ඇත. ප්‍රාථමික කණ්ඩායම බැවින් abc2, ඔබ කණ්ඩායම් දෙකෙහිම අවසන් වනු ඇත. usermod -g abc2 abc2එහි ප්‍රති results newgroup11ලය ද්විතීයික කණ්ඩායම් වලින් ඉවත් කිරීමට හේතු වේ. එබැවින් විවිධ කණ්ඩායම් තුනක් හෝ වැඩි ගණනක් සඳහා මෙම ක්‍රමය ක්‍රියාත්මක නොවේ. gpasswdවඩා හොඳ විධානයක් සඳහා වන අනෙක් පිළිතුරු බලන්න .
ලෙකන්ස්ටයින්

1

-A විකල්පයක් නොමැතිව usermod විධානය ක්‍රියාත්මක කිරීමෙන් ඔබට පරිශීලකයා කණ්ඩායමෙන් ඉවත් කළ හැකිය. උදාහරණයක් ලෙස, "usermod -G group1 පරිශීලක නාමය" ක්‍රියාත්මක කිරීමෙන් පරිශීලකයා group1 වෙත එකතු වන අතර එය වෙනත් ඕනෑම කණ්ඩායමකින් ඉවත් කරයි. මතක තබා ගන්න, කොමා සමඟ වෙන් කර ඇති කණ්ඩායම් නම් ලැයිස්තුගත කිරීමෙන් ඔබට විවිධ කණ්ඩායම් වල පරිශීලකයා තබා ගත හැකිය.


1
මෙම තොරතුරු දැනටමත් කිහිප වතාවක් ඉදිරිපත් කර ඇත.
ස්කොට්

0

ඉවත් කිරීමේ විකල්පයක් නොමැති ඩිස්ට්‍රෝ (ෆෙඩෝරා වැනි) හි පරිශීලක මෝඩ් දිගටම භාවිතා කිරීම සඳහා, පරිශීලක = බොබ් සහ සමූහ = ඩෙලෙටෙටිස්ග්‍රූප්, විධානය වනුයේ:

usermod -G `cat /etc/group |  grep bob | grep -v deletethisgroup | cut -d ':' -f 1 | tr '\n' ',' | sed 's/,$//'` bob

පයිප්ප (1) පරිශීලකයාට අයත් සියලුම කණ්ඩායම් ඇතුළත් කිරීම් ලබා ගන්න, (2) ඉවත් කළ යුතු එක ඉවත් කරන්න, (3) පළමු තීරුව (කණ්ඩායම් නාමය) ආපසු ලබා දීම, නව රේඛාව කොමාව සමඟ ප්‍රතිස්ථාපනය කිරීම සහ පසුපස කොමාව ඉවත් කිරීම.

ඇත්ත වශයෙන්ම, ඔබට ඒ සියල්ල බාෂ් ස්ක්‍රිප්ට් එකක තැබිය හැකි අතර එමඟින් පරිශීලකයා සහ කණ්ඩායම පරාමිතීන් ලෙස මකා දැමිය යුතුය. අවසානය කෙටි කිරීමට awk භාවිතා කළ හැකි නමුත් මට අවශ්‍ය වූයේ grep, cut, tr සහ sed වලට ඇලී සිටීමයි.


මෙම man පිටුවට අනුව , gpasswd -d bob deletethisgroupද ලබා ගත හැකිය. ඔබ එය භාවිතා නොකිරීමට හේතුවක් තිබේද?
ලෙකන්ස්ටයින්

කණ්ඩායම් මුරපද සැකසීමට සෑම කෙනෙකුටම අවශ්‍ය නැත. මම යම් ඩිස්ට්‍රෝ එකක ප්‍රශ්නය මගින් යොමු කරන ලද විධානය භාවිතා කරමින් විසඳුමක් ඉදිරිපත් කරමින් සිටියෙමි. fpassod / RHEL / Centos හි gpasswd -d සමඟ ඉවත් කළ පරිශීලකයාට මුරපදයට ප්‍රවේශය ඇත්නම් ඔහුට කණ්ඩායමට එක්විය හැකිය. එය සැබවින්ම කණ්ඩායම් ප්‍රවේශය වැඩි කිරීමට ඉඩ නොදී වැඩි කරයි.
ස්ටීවන්

උපයෝගීතාව නම් කර gpasswdඇත්තේ එය සමීපව සම්බන්ධ බැවින් /etc/passwdකණ්ඩායම් කළමනාකරණය කරන බැවිනි. passwdමුරපද පාලනය කරන සරල විධානය මෙන් නොව, gpasswdකණ්ඩායමක සාමාජිකත්වය කළමනාකරණය කිරීමට ද භාවිතා කළ හැකිය. ඔබ root හෝ කණ්ඩායම් පරිපාලක නම් කණ්ඩායම් මුරපදයක් අවශ්‍ය නොවේ.
ලෙකන්ස්ටයින්

ඔබ gpasswd අත්පොත කියවූවාද? Fedora / RHEL / CentOS සඳහා, ඔබ අත්පොත කියවන්නේ නම්, "/ etc / group, සහ / etc / gshadow පරිපාලනය කිරීමට" විධානය භාවිතා කරන බව සඳහන් වේ. එය ඇත්ත වශයෙන්ම / etc / passwd කෙරෙහි කිසිදු බලපෑමක් ඇති නොකරයි. අත්පොතෙහි ද සඳහන් වන්නේ "කණ්ඩායම් මුරපද සහජ ආරක්ෂක ගැටළුවක් වන බැවින් එක් පුද්ගලයකුට වඩා මුරපදය දැන ගැනීමට අවසර දී ඇති බවයි." එය සැබවින්ම කණ්ඩායමක සාමාජිකත්වය කළමනාකරණය නොකරයි, එය මුරපදය සමඟ ඕනෑම පරිශීලකයෙකුට කණ්ඩායම විවෘත කරයි. ඔබ දැනටමත් කණ්ඩායමේ සාමාජිකයෙක් නම් කණ්ඩායම් මුරපදයක් අවශ්‍ය නොවේ.
ස්ටීවන්

සමීපව සම්බන්ධ වූයේ සමාන නම් කිරීම සහ අරමුණු යන අර්ථයෙන් ය, / etc / passwd ගොනුව ඇත්ත වශයෙන්ම කළමනාකරණය කරනු ලබන්නේ gpasswd විසින් බව මම නොකියමි. මගේ පළමු අදහස් දැක්වීමේ "මෑන් පිටුව" ෆෙඩෝරා 13 සඳහා වන gpasswd අත්පොත වෙත යොමු කරන බව සලකන්න. gpasswd $groupඔබ භාවිතා කිරීමෙන් ඔබ සඳහන් කළ ආරක්ෂක ගැටළුවට හේතු වන කණ්ඩායම් මුරපදය සැකසිය හැකිය. කෙසේ වෙතත් ඔබට මුරපදයක් නොතිබිය හැකි gpasswd -d $user $groupඅතර පළමු විවරණයේ සහ පිළිගත් පිළිතුරෙහි විස්තර කර ඇති පරිදි පරිශීලකයෙකු මකා දැමීමට භාවිතා කරන්න. මෙම විධානය කණ්ඩායම් මුරපදයක් ඉල්ලා නොසිටින බවත් එය වෙනස් කිරීම හෝ අවශ්‍ය නොවන බවත් සලකන්න.
ලෙකන්ස්ටයින්

0

පරිශීලක නාමය = ශිෂ්‍යයා සහ කණ්ඩායම් නාමය = පර්යේෂණය යැයි සිතමු , එබැවින් studentපරිශීලකයා researchකණ්ඩායමෙන් ඉවත් කිරීමට පහත සඳහන් දෑ කළ යුතුය:

gpasswd -d student research

අවුරුදු 6 කට පෙර මෙහි යමක් තිබුනේ ඇයි? එය පිළිගත් පිළිතුරක් ලෙස සලකුණු කර ඇත!
බෙට්ලිස්ටා

-1
pw groupmod "groupname|gid" -d "username|uid"

කුමන හේතුවක් නිසා හෝ ඔබ CSH භාවිතා කරන්නේ නම් විසඳුමක්.


-1

Gpasswd කණ්ඩායමකින් පරිශීලකයෙකු ඉවත් කිරීම මෙම IMO සඳහා හොඳම උපයෝගීතාවයි.

විධාන උදාහරණය:

sudo gpasswd -d group user

* උදව් තොරතුරු *

Usage: gpasswd [option] GROUP

Options:
  -a, --add USER                add USER to GROUP
  -d, --delete USER             remove USER from GROUP
  -h, --help                    display this help message and exit
  -Q, --root CHROOT_DIR         directory to chroot into
  -r, --delete-password         remove the GROUP's password
  -R, --restrict                restrict access to GROUP to its members
  -M, --members USER,...        set the list of members of GROUP
  -A, --administrators ADMIN,...
                                set the list of administrators for GROUP
Except for the -A and -M options, the options cannot be combined.

1
කණ්ඩායම් සහ පරිශීලක තර්ක හුවමාරු වේ. එසේම, යෝජිත පිළිගත් පිළිතුර මෙයයි, මෙම ලිපිය සැබවින්ම ප්‍රයෝජනවත් නොවේද?
ලෙකන්ස්ටයින්
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.