Debian 系统是一各非常优秀的 Linux 操作系统,Ubuntu 是基于 Debian 的衍生版本,具有相同的包管理工具和系统命令。有时候我们需要给 Debian 系统的服务器添加用户,那么可以通过如下命令非常简单的操作。本篇演示默认在 root 用户下操作。
使用 adduser 添加用户
该命令是 Perl 脚本命令,可以交互式的创建用户,需要设置新用户密码,并同时创建同名用户组和家目录。
将该用户添加到 sudo 次组(主组名同用户名)中,使其具有 sudo 权限,命令如下
| 12
 3
 
 | usermod -a -G sudo jinzhongxu
 gpasswd -a jinzhongxu sudo
 
 | 
从 sudo 组中删除用户
| 1
 | gpasswd -d jinzhongxu sudo
 | 
使用 deluser 删除用户
有时候不想再使用用户了,可以删除用户,同时也可以删除该用户所有的文件,使用如下命令
| 1
 | deluser --remove-all-files jinzhongxu
 | 
其他添加用户命令
其实,除了上面比较方面的 Perl 脚本命令,用更加强大的 Linux 命令 useradd 和 userdel 来添加用户和删除用户,但是,需要的参数比较多,记忆比较复杂,下面列出各参数
useradd 添加用户
-c 备注:备注出现在 /etc/passwd 第 5 项字段中
        -d 用户主文件夹:指定用户登录所进入的目录,同时赋予用户对该目录的的完全控制权
        -e 有效期:指定用户的有效期限。格式为 YYYY-MM-DD,信息存储在 /etc/shadow 中
        -f 缓冲天数:限定密码过期后多少天,将该用户帐号停用
        -g 主要组:设置用户所属的主要组
        -G 次要组:设置用户所属的次要组,可设置多组
        -M 强制不创建用户主文件夹
        -m 强制建立用户主文件夹,并将 /etc/skel/ 当中的文件复制到用户的根目录下
        -p 密码:设置用户密码
        -s shell:指导用户登录 shell
        -u uid:指定用户标志符 user id,即 uid
建一个带有家目录并且可以登录 bash 的用户
| 1
 | useradd -m -s /bin/bash jinzhongxu
 | 
指定创建用户家目录的路径
| 1
 | useradd -m -d /home/jinzhongxu jinzhongxu
 | 
创建时把用户加入不同的用户组
| 1
 | useradd -m -G sudo jinzhongxu
 | 
创建类似于 adduser 方法的用户
| 1
 | useradd -m -s /bin/bash -d /home/jinzhongxu -G sudo jinzhongxu
 | 
创建用户的同时设置密码
| 12
 3
 4
 5
 6
 
 | useradd -m -s /bin/bash -d /home/jinzhongxu -G sudo -p "$(openssl passwd -1 121212)"  jinzhongxu
 
 useradd -m -s /bin/bash -d /home/jinzhongxu -G sudo -p `openssl passwd -1 -salt 'salt' 121212` jinzhongxu
 
 echo "jinzhongxu:121212" | sudo chpasswd
 
 | 
userdel 删除用户
锁定账号
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | passwd -l jinzhongxu
 
 
 passwd -u jinzhongxu
 
 
 passwd --status jinzhongxu
 passwd -S jinzhongxu
 
 
 man passwd
 
 passwd [-l] [-u] [-S] [-n 日数] [-x 日数] [-w 日数] [-i 日期] 帐号
 功能选项与参数:
 -l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使密码失效;
 -u :与 -l 相对,是 Unlock 的意思!
 -S :列出密码相关参数,亦即 shadow 文件内的大部分信息。--status
 -n :后面接天数,shadow 的第 4 字段,多久不可修改密码天数
 -x :后面接天数,shadow 的第 5 字段,多久内必须要更动密码
 -w :后面接天数,shadow 的第 6 字段,密码过期前的警告天数
 -i :后面接“日期”,shadow 的第 7 字段,密码失效日期
 
 | 
强制用户登录时改密码
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | chage -d 0 jinzhongxu
 
 
 chage [-ldEImMW] 帐号名
 选项与参数:
 -l :列出该帐号的详细密码参数;
 -d :后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式 YYYY-MM-DD
 -E :后面接日期,修改 shadow 第八字段(帐号失效日),格式 YYYY-MM-DD
 -I :后面接天数,修改 shadow 第七字段(密码失效日期)
 -m :后面接天数,修改 shadow 第四字段(密码最短保留天数)
 -M :后面接天数,修改 shadow 第五字段(密码多久需要进行变更)
 -W :后面接天数,修改 shadow 第六字段(密码过期前警告日期)
 
 | 
账号信息更正
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | usermod [-cdegGlsuLU] username选项与参数:
 -c :后面接帐号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些帐号的说明。
 -d :后面接帐号的主文件夹,即修改 /etc/passwd 的第六栏;
 -e :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
 -f :后面接天数,为 shadow 的第七字段。
 -g :后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是 GID 的字段!
 -G :后面接次要群组,修改这个使用者能够支持的群组,修改的是 /etc/group 啰~
 -a :与 -G 合用,可“增加次要群组的支持”而非“设置”喔!
 -l :后面接帐号名称。亦即是修改帐号名称, /etc/passwd 的第一栏!
 -s :后面接 Shell 的实际文件,例如 /bin/bash 或 /bin/csh 等等。
 -u :后面接 UID 数字啦!即 /etc/passwd 第三栏的数据;
 -L :暂时将使用者的密码冻结,让他无法登陆。其实仅改 /etc/shadow 的密码栏。
 -U :将 /etc/shadow 密码栏的 ! 拿掉,解冻啦!
 
 | 
账号说明信息
下面的命令都是让一般使用者修改 /etc/passwd 这个系统文件的。
查看账号信息
| 12
 3
 4
 5
 6
 7
 
 | sudo apt install finger
 
 finger [-s] username
 选项与参数:
 -s :仅列出使用者的帐号、全名、终端机代号与登陆时间等等;
 -m :列出与后面接的帐号相同者,而不是利用部分比对 (包括全名部分),默认参数
 
 | 
更改账号说明信息
| 12
 3
 4
 5
 6
 
 | chfn [-foph] [帐号名]选项与参数:
 -f :后面接完整的大名;
 -o :您办公室的房间号码;
 -p :办公室的电话号码;
 -h :家里的电话号码!
 
 | 
更改账号登录 shell
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | chsh [-s]选项与参数:
 -s :设置修改 Shell 啰
 
 
 cat -n /etc/shells
 
 
 chsh -s /bin/zsh
 
 |