Java工程师必学的Linux命令(二)用户和组管理

Java工程师日常研发工作中会使用到的Linux命令系列第二篇,今天我们来练习一些常用的用户和组管理的命令吧。
注:本系列文章所有操作都是基于RedHat系列的Centos 7。所以开始学习前,请大家先安装Centos 7。


1. 用户管理

1.1 创建用户

命令格式:

useradd [选项] 用户名

常用选项:

-b 指定该用户的根路径,默认为/home
-d 指定该用户的家目录,默认为/home/加上用户名,比如jack用户,就是/home/jack
-u 指定用户的uid,如果不指定,默认从500开始,最大到60000,500之前的是预定给系统用户使用的
-g 指定用户所属组名或组的gid,组名或组ID必须是存在的。如果不指定,gid与uid相同。

例如,创建新用户jacky


创建新用户

可以看到系统自动在/home目录下创建了jacky目录,作用jacky用户的家目录


家目录

1.2 修改用户密码

命令格式:

passwd [用户名]

注意:只有root用户可以修改所有用户的密码。普通用户只能修改自己的密码,所以普通用户输入这条命令时,不需要指定用户名。


image.png

1.3 切换用户

现在我们试着切换到新创建的用户
命令格式:

su - 用户名

注意:-号左右要有空格。


image.png

那要退出当前会话,回到刚才上一级会话(也就是刚才的root用户),需要使用exit命令:


image.png

1.4 查看用户

1.4.1 查看单一用户

命令格式:

id 用户名
查看用户

1.4.2 查看所有用户

所有的用户信息都存放在/etc/passwd配置文件中。
通过查看这个文件的内容,可以查看所有用户的基本信息

cat /etc/passwd
查看所有用户

超级用户root可以编辑这个文件,从而改变、新增、删除用户。

1.5 修改用户

命令格式:

usermod [选项] 用户名

常用选项:

-u 修改uid
-g 修改gid
-l 修改用户名,注意这里只是修改掉用户的登录用户名,不会修改用户的家目录等其他信息。

例如:修改用户uid


修改用户uid

1.6 删除用户

命令格式:

userdel [选项] 用户名

注意:删除一个用户后,再次添加同名的用户时,如果报错,是因为该用户附属的home目录、mailbox文件并没有删除。
想要彻底删除,需要加上-r选项。例如:


image.png

2. 用户组管理

2.1 新建组

命令格式:

groupadd [选项] 组名

常用选项:

-g  指定组的gid

例如:创建gid为666的组 组名为glory


新建组

2.2 查看组

系统/etc/group配置文件存放着所有组的信息

cat /etc/group

2.3 将用户添加到组中

命令格式:

gpasswd -a 用户名 组名

例如:将jacky用户添加到glory组里


将用户添加到组中1

再次查看jacky用户,会发现它被从属于两个组了


将用户添加到组中2

所以:用户与组可以是多对多的关系,也就是一个用户可以同时属于多个组,一个组可以包含多个用户

2.4 将用户移出组

命令格式:

gpasswd -d 用户名 组名
将用户移出组

2.5 删除组

命令格式:

groupdel  组名
删除组

注意:如果组里有用户存在,则需要先删除掉或者移出这些用户
hydra 删除hydra组(组里有用户的话,需要先删除用户)

你可能感兴趣的:(Java工程师必学的Linux命令(二)用户和组管理)