一、基本介绍:
- Linux是一个多用户,多任务的操作系统。想要去使用系统的资源,必须有用户名和密码登录到系统。那么用户名和密码需要向系统管理员申请的,所谓系统管理员就是拥有root权限的超级用户,只有他为你添加了用户名和密码,你才可以去登录到系统。值得注意的是他会决定你所拥有的权限。关于这个我有个有趣的例子,大家不妨看看。(还记得我刚工作时,我的领导就给我一个用户名和密码,让我在这里去进行工作,当我工作过程中,我需要编译一个项目,需要新版的某个软件,所以我决定去升级一下这个软件,当我输入指令按下回车键时却提示我权限不够,所以理所应当的在指令前面加上了
sudo
,关于sudo
后面会介绍。但执行后却提示我不在sudo
里面,我当时还不明白怎么回事儿,所以找领导问,他告诉我,没有给我这样的权限。我说那就给我吧,他说不行,你现在对linux还不熟悉,如果给你了或许会有毁灭性的灾难。)枯燥的故事看完了,下面我介绍如何添加用户、删除用户及用户组的相关操作吧。注意:以下操作都需要管理员权限。
二、添加&删除 用户
useradd 用户名
:添加用户 [ 例:useradd sam
:添加了一个用户名为“sam”的用户 ] {值得注意的是,如果不进行额外的指定,sam
用户的目录将会默认是:/home/sam
。}useradd -d 指定目录 用户名
:添加用户,并为其指定目录 [ 例:useradd -d /home/test/ sam
:添加了用户名为:“sam”的用户,并指定它的目录为/home/test/
. ] {这将指定该用户的目录名为“test”,但登录的用户名依然使用“sam”}passwd 用户名
:设置密码 [ 例:passwd sam
:将要为“sam”设置密码 ] {一脸懵,都没有关于密码的信息,怎么设置密码了?按下“Enter”键吧!}userdel 用户名
:删除用户 [ 例:userdel sam
:删除了“sam”用户 ] {当然这里只是删除了该用户名和密码,他将不能在使用此用户名和密码登录系统,但依然保留了家目录及目录下的信息。}userdel -r 用户名
:删除用户及其家目录 [ 例:userdel -r sam
:删除了“sam”用户,及其家目录 ] {这不仅删除了该用户,还会删除该用户的家目录。当然,一般不建议这么做,或许那天你需要他里面的信息呢!}id 用户名
:查询用户信息 [ 例:id sam
:将会查看“sam”的这个用户的信息]su - 用户名
:切换用户 [ 例:su - root
:将切换到“root”用户 ] {如果从“root”切换到普通用户,不需要输入密码,反之则需要。如果没有密码,那么很遗憾,切换不成功。}who am i
:查看当前登录的用户 *{如果你用“sam”用户登录了系统,但你又使用“su - root”切换到“root”用户,又使用who am i
,那么将显示的是“sam”而不是“root”。}
三、新建用户组
- 将某些用户添加到一个组中,以进行统一管理。
groupadd 组名
:新建组 [ 例:groupadd test
:新建了名为“test”的组]groupdel 组名
:删除组 [ 例:groupdel test
:删除了名为“test”的组]useradd -g 组名 用户名
:添加用户,并将他添加到组 [ 例:useradd -g test sam
:在添加“sam”用户的同时,将他添加到“test”组中 ] {前提是你的组是存在的,我们还做不到将用户添加到一个虚无的组中。如果要把用户移动到其他组,你也可以使用这条指令,不同的是,将组名换成目标组名即可}groups 用户名
:查看用户所在组 [ 例:groups sam
:查看“sam”用户所在组]gpasswd -d 用户名 组名
:将用户从组中删除 [ 例:gpasswd -d sam test
:将用户“sam”从组“test”中删除 ] {你不能从用户的主组中删除用户,如果某个组是用户的副组,那么你在删除组的同时将同时把用户移除该组。}
四、用户和组相关文件
/etc/passwd
:用户的配置文件,记录了用户的各种信息 {我们所要知道的是这个文件记录该系统下所有用户的信息。}
/etc/shadow
:口令的配置文件 {记录了用户的登录密码,不过它是经过加密的。用户登录时,将会在这个文件中匹配密码}
/etc/group
:组的配置文件 {记录Linux下组的相关信息}