在linux中创建用户可以使用两种指令 adduser 和 useradd ,其区别可参考 这篇文章 。
在 ubuntu 中使用 adduser 会更方便地创建用户。
sudo adduser username
其需要使用 root 用户才能创建用户,需要输入当前用户的密码,如果未指定组,会自动创建同名组并将其添加到组中,自动创建家目录。然后要求输入该用户的密码与相关信息。
useradd 则需要指定一系列信息。
语法
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]
或
useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]
-c<备注>
-d<登入目录>
-D
-e<有效期限>
-f<缓冲天数>
-g<群组>
-G<群组>
-m
-M
-n
-r
-s<shell>
-u<uid>
注意此时是 test2 用户是没有密码的,需要手动添加密码,否则无法登录用户。可以使用 passwd 设置密码, passwd 具体可看 这篇文章 。
添加用户之后,会在 /etc/passwd 中添加一个记录
/etc/passwd 文件内容非常规律, 每行记录对应一个用户
这里的密码 x 并不是真正的密码,密码存放在 /etc/shadow 中,需要 root 用户才能查看
同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 : 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
su (英文全拼:switch user) 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
-f 或 --fast
-m -p 或 --preserve-environment
-c command 或 --command=command
-s shell 或 --shell=shell
--help
--version
- -l 或 --login
USER
ARG
示例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su root //切换到root用户
密码:
root@runoob.com:/home/hnlinux# whoami
root
root@runoob.com:/home/hnlinux# pwd
/home/hnlinux
切换用户,改变环境变量
hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su - root //切换到root用户
密码:
root@runoob.com:/home/hnlinux# whoami
root
root@runoob.com:/home/hnlinux# pwd //显示当前目录
/root
切换用户后可以使用 exit 命令切换回来
Linux userdel 命令用于删除用户账号。 userdel 可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
语法
userdel [-r][用户帐号]
sudo userdel -r test2