安装 Ubuntu 时,我们只能使用小写的用户名。但是最近我注册了一个基于 Ubuntu 的 shell,登录是通过注册到该站点的用户名完成的。用户名以大写字母开头,当使用 SSH 登录时,我需要大写字母才能登录 - 如果我使用小写字母,它会拒绝我。
这是怎么回事?如果可能的话,我想在我的常规安装帐户上使用大写字母。
Mar*_*ppi 11
原因尚不清楚 - 尽管某些程序似乎不区分大写和小写用户名。因此,如果您有 Marco 和 marco 帐户,则可能会发生冲突。
目前似乎没有任何方法可以通过users-admin
或 Ubiquity完成此操作- 这些规则可能是硬编码的,而不是从adduser.conf
文件中提取的。
如果您强制使用“错误的用户名”,则可以通过命令行添加用户:
root@mine:~# adduser --force-badname Marco
Allowing use of questionable username.
Adding user `Marco' ...
Adding new group `Marco' (1002) ...
Adding new user `Marco' (1002) with group `Marco' ...
Creating home directory `/home/Marco' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for Marco
Enter the new value, or press ENTER for the default
Full Name []: Marco Ceppi
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Run Code Online (Sandbox Code Playgroud)
如果您想在不需要的情况下添加用户,--force-badname
您可以在/etc/adduser.conf
以下内容中更改此行:
#NAME_REGEX="^[a-z][-a-z0-9_]*\$"
Run Code Online (Sandbox Code Playgroud)
对此
NAME_REGEX="^[a-zA-Z][-a-zA-Z0-9_]*\$"
Run Code Online (Sandbox Code Playgroud)
这将允许用户使用大写名称。虽然无法通过该adduser
命令将用户添加到其他组,但您可以改用该usermod
命令:
usermod -G admin Marco
Run Code Online (Sandbox Code Playgroud)