Linux新建用户
相信使用过linux系统的人,都知道如何去新建一个新用户。比如下面这两条指令,是最常用的新建新用户的指令,这个确实能够新建一个用户,并且能够在shell切换到该用户进行使用。但是你会发现,通过这种方式新建的新用户,是不能够登录到图像桌面的。其中一个原因是因为你没有bash登录权限:如果新建的用户没有bash登录权限,那么该用户将无法登录系统。上网查了之后,你也能得到很多答案,但是作为程序员,你一定遇过这种情况,好多不同答案,一般人的操作就是都是去试一遍。但如果存在你一开始操作就有问题的时候,可能会出现更多的问题。所以最好的方法就是去理解它。知道它原理是怎样的。因为大部分人也没用从基础开始学linux使用,很多基础操作都不会,就会出现很多乌龙问题。接下来告诉你如何新建一个用户,能够登录图形界面的。
useradd testname passwd testname
一.新用户创建
1.进入root权限 sudo su root
2.创建用户
2.1方式一(建议):
通过长指令,新建用户的同时新建用户主目录或者将用户添加到root组
方式一可以有两种选择,建议第二种,一步到位。
①添加用户 -d 指定用户主目录 -m 若主目录不存在则创建
这条命令在 /home 下创建了用户主目录。而前言所提命令创建用户后没有用户主目录。useradd -d /home/test -m testname
②相对于上面的命令 -g 将用户添加到 root组里
useradd -d /home/testname -m test -g root
你可以通过以下命令来确认新用户是否已经创建成功:
sudo grep username /etc/passwd
其中,username是你刚才创建的新用户的用户名。如果命令返回了一个包含该用户名的行,那么说明新用户已经创建成功了。
2.2方式二:
这个方式是自己比较熟悉每个指令和新用户需要添加的基本功能的作用情况下去使用,这个会新建一个默认用户,然后再根据需要添加相应的功能。
使用root用户或者sudo权限运行下列命令:sudo adduser username
其中,username 是你要创建的新用户的用户名。
系统会提示你设置新用户的密码和其他相关信息。按照提示输入即可。完成上述步骤后,新用户就已经创建成功了。接下来,你可以进行以下操作来管理新用户:
给新用户授权sudo权限:如果你希望新用户能够执行系统管理任务,可以将其添加到sudoers文件中。运行以下命令:sudo usermod -aG sudo username
其中,username 是你刚才创建的新用户的用户名。
修改新用户的家目录:新用户的默认家目录是 /home/username,你可以通过以下命令来修改:sudo usermod -d /new/home/directory username
其中,/new/home/directory 是你想要设置的新家目录的路径,username是你刚才创建的新用户的用户名。
3.设置用户密码
因为安全问题,输入密码不会回显passwd test
4.授权用户sudo权限
虽然创建的用户已经放在root组种,但是还是没有sudo权限。因为在Linux系统中,root组是一个具有特殊权限的组,可以访问系统中的所有资源和命令。一般情况下,新创建的用户会被分配到一个默认的用户组,而不是root组。如果你将新用户分配到root组中,这个用户虽然可以访问root组中的资源,但是并不能自动拥有sudo权限。sudo是一种命令行工具,它允许普通用户以root权限来执行特定的命令。但是,需要在sudoers文件中配置用户的sudo权限。如果你想让一个用户拥有sudo权限,可以将该用户添加到sudoers文件中,并指定该用户可以以root权限执行哪些命令。因此,将用户添加到root组中并不能自动给予该用户sudo权限。需要通过配置sudoers文件,将该用户添加到sudoers列表中,才能授予该用户sudo权限。
接下来根据自己的需要给它配置一下sudo权限sudo su root vim /etc/sudoers
并且在 root ALL=(ALL:ALL) ALL 下添加 你创建的用户名 + ALL=(ALL:ALL) ALL
修改完成后, 键入Esc 退出编辑并强制修改文件。
Esc :wq!
若出现以下情况,则需要进入visudo文件修改
进入visudo修改
visudo
保存并退出
提示:执行sudo visudo,默认是使用nano编辑器,所以保存退出的时候需要通过快捷键的方式来完成。
执行“Ctrl+O”
执行完“Ctrl+O”后,会输出”File Name to Write sudoers.tmp”,在tmp后执行回车
执行“Ctrl+X”退出二.用户管理
1.查看用户属性,检查是否添加到正确的用户组id <用户名称>
2.将已有用户添加到指定用户组
将已有用户添加到指定用户组,作为其附属用户组
-a 代表append,和 -G 一起使用,将用户添加到新用户组中而不必来开原有的其他用户组
usermod -a -G <用户组名称> <用户名称>
将已有用户的主用户组改为新的用户组
usermod -g <新的用户组名称> <用户名称>
3.添加用户,并指定家目录、所在组、登录shell等信息
# -m 自动建立用户家目录 # -g 指定用户所在的组 # -s 指定用户登录的shell usermod -m -s /bin/bash -g <用户组名称> <用户名称>
4.将一个用户从某个用户组删除
将用户从该用户的附属组中删除
gpasswd -d <用户名称> <用户组名称>
5.删除用户
永久性删除用户账号
userdel <用户名称>
6.基本组和附加组:
基本组:创建用户的时候系统会同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
新建一个用户组sudo groupadd 用户组名
7.查看当前登录用户的组内成员:
groups
8.查看gliethttp用户所在的组,以及组内成员:
groups gliethttp
9.查看当前登录用户名
#whoami #who
10.文件包含所有组:
/etc/group
11.系统存在的所有用户名:
/etc/shadow和/etc/passwd
12.查看该用户所属bash组别:
cat /etc/passwd |grep username
13.修改用户所属,比如修改为bash:
sudo usermod -s /bin/bash username
14.切换用户:
su username
欢迎来到预言的博客