Linux中的账户与组的创建、修改、删除及文件解析

一、 账户及组的概念

Linux系统帐号及组的管理是通过ID号来实现的,我们在登陆系统时,输入用户名对应的密码,操作系统会将用户名转化为ID号后再来判断该帐号是否存在,并对比密码是否匹配。Linux中,用户ID号被称为UID,组ID号被称为GID。其中,UID为0,代表超级管理员,也就是常说的root帐号,1-499之间的ID号系统会预留下来。这样我们创建的普通用户ID号会从500算起。

Linux操作系统中的组分为基本组和附加组,一个用户同一时刻仅可以加入一个基本组中,但可以同时加入多个附加组。默认在创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。
注意:一个用户必须至少属于一个组

基本组(私有组) ; 附加组(从属组 公共组)

二、创建账户及组

使用系统命令 useradd可以创建我们需要的账户,groupadd命令用来创建组账户。需要注意的是,创建账户及组是需要有管理员权限。

1.useradd 创建账户
格式:useradd [选项] 用户名称

[root@gao shell]# useradd user
[root@gao shell]# cat /etc/passwd     //查看刚创建的用户
user:x:1002:1002::/home/user:/bin/bash      //在最下面一行出现

以上每个字段的含义
用户名:密码占位符:用户id: 组id:备注信息:家目录:解释器

选项:
-c 设置帐号描述信息
-d 设置帐号家目录,默认为/home/用户名

[root@gao shell]# useradd -d /user user4
注意:不可以指定已经存在的目录

-e 设置帐号的失效日期,格式为YYY-MM-DD。

[root@gao shell]# useradd -c administrator -d /home/admin -e 2020-12-24 \ -g root -G bin,adm,mail admin
//创建普通用户admin,全名为administrator,账户家目录为/home/damin,账户失效日期为2020年12月24日,账户基本组为root,附加组为bin,adm,mail。

-g 设置账户的基本组。
-G 设置账户的附加组,多个附加组中间用逗号隔开
-M 不创建账户家目录,一般与-s结合使用 。
-s 设置账户的登陆shell,默认为bash

[root@gao shell]# useradd -s /sbin/nologin -M user5
//创建无法登陆系统且没有家目录的用户user5

-u 指定账户UID。

[root@gao shell]# useradd -u 603 user4
[root@gao shell]# cat /etc/passwd
user4:x:603:1005::/home/user4:/bin/bash     
 //可以看到用户user4的UID设置为603

2.groupadd 创建组账户
格式:gruopadd [选项] 组名称

[root@gao shell]# groupadd yizu    
//创建名为yizu的组账户

选项:
-g 组ID 组名(-g基本组,-G附加组)

[root@gao shell]# groupadd -g 700 java
创建GID为700的组java

添加组成员/删除组成员

[root@gao shell]#gpasswd -a  用户名   组名      //添加
[root@gao shell]#gpasswd -d  用户名   组名      //删除

3.id显示账户及相关信息

[root@gao shell]# id root
uid=0(root) gid=0(root) 组=0(root)
//查看root账户及相关信息

三、修改账户及组

1.passwd 更新帐号认证信息。

[root@gao ~]# passwd
//为当前用户设置密码

格式:[选项] [账户名称]
选项:
-l 锁定账户,仅root可使用此选项

[root@gao ~]# passwd -l user3
锁定用户 user3 的密码 。
passwd: 操作成功

–stdin 从文件或管道读取密码。

[root@gao ~]# echo "123456" |passwd --stdin gao
//交换式修改密码

-u 锁定账户

[root@gao ~]# passwd -u user3

-d 快速清空账户密码,仅root可使用此选项。

[root@gao ~]# passwd -d user3

2.usermod修改账户信息
格式:usermod [选项] 账户名称
选项:
-d 修改账户家目录

[root@gao ~]# usermod -d /home/tomcat user4
//修改user4的家目录,/home/tomcat目录必须存在

-e 修改账户失效日期

[root@gao ~]# usermod -e 2020-01-01 user4
//修改账户失效日期为2020年1月1日

-g 修改账户所属基本组

[root@gao ~]# usermod -g mail user4

-G 修改账户所属附加组
-s 修改账户登陆shell

[root@gao ~]# usermod -s /bin/bash user5

-u 修改账户UID

[root@gao ~]# usermod -u 1005 user5

四、删除账户及组

1.userdel 删除账户及相关文件

[root@gao ~]# userdel user3
//删除账户user3,但该账户的文件不删除

格式:userdel [选项] 账户名称
选项:
-r 删除账户及相关文件

[root@gao ~]# uesrdel -r user4

2.groupdel 删除组账户

[root@gao ~]# groupdel zhi      //删除组zhi

五、 账户与组文件解析

1.账户信息文件
账户信息被保存在/etc/passwd文件中,通过cat /etc/passwd查看文件内容(前面有用到过)。

2.账户密码文件
账户密码信息被保存在/etc/shadow文件中,通过cat /etc/shadow查看。

3.组账户信息文件
组账户信息被保存在/etc/group文件中,通过cat /etc/group

4.组账户密码文件
组账户密码信息被保存在/etc/gshadow文件中,通过cat /etc/gshadow
通过<gpasswd组名> 方式 可以为组设置密码
通过<group -a账户名称 组账户 ,可为组添加管理员。

猜你喜欢

转载自blog.csdn.net/gao_2109/article/details/88753138
今日推荐