Linux 用户与用户组关系

本文详细介绍了Linux系统中用户和用户组的管理,包括用户和用户组的配置文件、密码文件、用户组文件,以及如何添加、修改和删除用户和用户组。还讨论了如何设置用户登录密码、锁定/解锁账户和密码,以及用户组的权限管理。此外,文章提到了用户与用户组的多对多关系,并给出了相关的命令行操作示例。
摘要由CSDN通过智能技术生成

 

1、用户和用户组文件

 

在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。


在 linux 系统中,所创建的用户帐号和其相关信息 (密码除外) 均是存放在 / etc/passwd 配置文件中。由于所有用户对 passwd 文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了 / etc/shadow 的配置文件中。


在 passwd 文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用 ":” 分隔,每个字段均代表该帐号某方面的信息。


在刚安装完成的 linux 系统中,passwd 配置文件已有很多帐号信息了,这些帐号是由系统自动创建的,他们是 linux 进程或部分服务程序正常工作所需要使用的账户,这些账户的最后一个字段的值一般为 / sbin/nologin,表示该帐号不能用来登录 linux 系统。


在 passwd 配置文件中,从左至右各字段的对应关系及其含义:

由于 passwd 不再保存密码信息,所以用 x 占位代表。


若要使某个用户账户不能登录 linux,只需设置该用户所使用的 shell 为 / sbin/nologin 即可。比如,对于 FTP 账户,一般只允许登录和访问 FTP 服务器,不允许登录 linux 操作系统。若要让某用户没有 telnet 权限,即不允许该用户利用 telnet 远程登录和访问 linux 操作系统,则设置该用户所使用的 shell 为 / bin/true 即可。若要让用户没有 telnet 和 ftp 登录权限,则可设置该用户的 shell 为 / bin/false。


在 / etc/shells 文件中,若没有 / bin/true 或 / bin/false,则需要手动添加
[root@localhost ~]# echo "/bin/false">>/etc/shells
[root@localhost ~]# echo "/bin/true">>/etc/shells

2、用户密码文件

 

为安全起见,用户真实的密码采用 MD5 加密算法加密后,保存在 / etc/shadow 配置文件中,该文件只有 root 用户可以读取。


与 passwd 文件类似,shadow 文件也是每行定义和保存一个账户的相关信息。第一个字段为用户帐户名,第二个字段为账户的密码。

3、用户组帐号文件


用户组帐号信息保存在 / etc/group 配置文件中,任何用户均可以读取。用户组的真实密码保存在 / etc/gshadow 配置文件中。


在 group 中,第一个字段代表用户组的名称,第二个字段为 x,第三个为用户组的 ID 号,第四个为该用户组的用户成员列表,各用户名间用逗号分隔。

 

4、添加用户


创建或添加新用户使用 useradd 命令来实现,其命令用法为:


useradd [option] username
该命令的 option 选项较多,常用的主要有:
-c 注释      用户设置对账户的注释说明文字
-d 主目录    指定用来取代默认的 / home/username 的主目录
-m          若主目录不存在,则创建它。-r 与 - m 相结合,可为系统账户创建主目录
-M          不创建主目录
-e date     指定账户过期的日期。日期格式为 MM/DD/YY
-f days     帐号过期几日后永久停权。若指定为 -,则立即被停权,若为 - 1,则关闭此功能
-g 用户组     指定将用户加入到哪个用户组,该用户组必须存在
-G 用户组列表 指定用户同时加入的用户组列表,各组用逗分隔
-n          不为用户创建私有用户组
-s shell    指定用户登录时使用的 shell,默认为 / bin/bash
-r          创建一个用户 ID 小于 500 的系统账户,默认不创建对应的主目录
-u 用户 ID    手动指定新用户的 ID 值,该值必须唯一,且大于 499
-p password 为新建用户指定登录密码。此处的 password 是对应登录密码经 MD5 加密后所得到的密码值,不实真实密码原文,因此在实际应用中,该参数选项使用较少,通常单独使用 passwd 命令来为用户设置登录密码。

 

示例:


若要创建一个名为 nisj 的用户,并作为 babyfish 用户组的成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值