帐户用户名区分大小写

Oxw*_*ivi 5 users

安装 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)