it-swarm.asia

كيف يمكنني إنشاء مستخدم غير تسجيل الدخول؟

أرغب في إنشاء مستخدم ومجموعة تسمى كليهما Subversion على نظام RHEL 5. نظرت إلى صفحة الرجل لـ useradd وأعتقد أن الأمر سيكون ...

useradd Subversion

ومع ذلك ، لست متأكدا من كيفية تجنب إنشاء دير المنزل. أيضًا ، لا أريد أن يكون مستخدمًا يمكنه تسجيل الدخول إلى النظام.

الغرض الرئيسي هو مجرد توفير مالك لمستودع SVN.

120
Ethan

يمكنك استخدام رمز التبديل -M (تأكد من أنه حرف كبير) لضمان عدم إنشاء دليل رئيسي:

useradd -M Subversion

ثم قفل الحساب لمنع تسجيل الدخول:

usermod -L Subversion
71
John T

useradd -r Subversion

لكل man useradd :

-r, --system create a system account

ستقوم العلامة -r بإنشاء مستخدم نظام - واحد ليس لديه كلمة مرور ، ودير منزلي ، وغير قادر على تسجيل الدخول.

201
rynop

حل آخر لإنشاء مستخدم نظام ، باستخدام adduser:

adduser --system --no-create-home --group yourusername

يمكنك إزالة --group إذا لم تكن بحاجة إلى تجميع اسم المستخدم الخاص بك ، و --no-create-home إذا كنت بحاجة إلى منزل لهذا المستخدم.

كما ذكر py4on في التعليقات ، في بعض الأنظمة ، قد يحتاج المرء إلى استخدام خيار --disabled-login من أجل تعطيل تسجيل الدخول لهذا المستخدم. يبدو أنه السلوك الافتراضي في ظل دبيان.

احذر أن يكون المعرف الرقمي للمستخدم من حساب النظام. يمكنك إصلاح معرف المستخدم باستخدام الخيار --uid.

أخيرًا ، لاحظ أنه في بعض الأنظمة (على سبيل المثال ، Fedora) adduser ، يعد رابطًا لـ useradd ، وفي هذه الحالة هذه الإجابة غير صالحة.

19
Skippy le Grand Gourou

أنظف إجابة على السؤال الأصلي هي تشغيل الأمر:

adduser Subversion --Shell=/bin/false

وإذا كنت لا تريد الدليل الرئيسي إما:

adduser Subversion --Shell=/bin/false --no-create-home

أو ، إذا كنت تريد مستخدم نظام مقفل أكثر (عادةً لن ينشئ هذا دليلًا رئيسيًا - تم الإبلاغ عن أنه سيظل ينشئ دليلًا رئيسيًا في نظام التشغيل linux mint وفقًا للتعليق أدناه)

adduser Subversion --system --group

ستنشئ كل هذه الأوامر مجموعة بنفس اسم المستخدم

14
TimmyGee

الشكل الأكثر أمانًا للقيام بذلك هو استخدام adduser مثل ذلك:

$ adduser -r -s /bin/nologin Subversion

ملاحظة: تأكد من تضمين -s /sbin/nologin لتعطيل أي تسجيل دخول Shell من إتاحتها للحساب.

تأكيد الإعداد

$ grep Subversion /etc/passwd /etc/shadow
/etc/passwd:Subversion:x:496:496::/home/Subversion:/bin/nologin
/etc/shadow:Subversion:!!:17232::::::

ومع ذلك لا يوجد دليل:

$ ll /home | grep Subversion
$

تأكد من أن الحساب قابل للاستخدام بطريقة أخرى:

$ Sudo -u Subversion whoami
Subversion

$ Sudo -u Subversion date
Tue Mar  7 08:58:57 EST 2017

إزالة

إذا كنت بحاجة إلى إزالة هذا الحساب:

$ userdel Subversion -r
userdel: Subversion mail spool (/var/spool/mail/Subversion) not found
userdel: Subversion home directory (/home/Subversion) not found
$

وتأكيد:

$ grep rtim-hc-user /etc/passwd /etc/shadow
$
10
slm

على جهاز CentOS 7

  • إذا كان المستخدم غير موجود:
    useradd testuser --Shell=/sbin/nologin

  • إذا كنت ترغب في تعديل مستخدم موجود:
    usermod testuser --Shell=/sbin/nologin

1
lauc.exon.nod