安装 Ubuntu 时,用户名只能使用小写。但最近我注册了一个基于 Ubuntu 的 shell,登录是通过注册到该网站的用户名进行的。用户名以大写字母开头,当使用 SSH 登录时,我需要大写字母才能登录 - 如果我使用小写字母,它会拒绝我。
怎么回事?如果可能的话,我想在常规安装的帐户上使用大写字母。
答案1
原因尚不清楚 - 虽然有些程序似乎不区分大写和小写用户名。因此,如果您拥有 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
如果您不想添加用户,--force-badname
可以更改此行/etc/adduser.conf
:
#NAME_REGEX="^[a-z][-a-z0-9_]*\$"
对此
NAME_REGEX="^[a-zA-Z][-a-zA-Z0-9_]*\$"
这将允许用户使用大写名称。虽然无法通过该adduser
命令将用户添加到其他组,但您可以改用以下usermod
命令:
usermod -G admin Marco