RHEL7用户及组的管理

简介:

用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 LDAP,NIS,
根据帐号的功能:超级用户(root)  UID:0
普通用户
系统用户 UID:1-999
本地用户 UID:1000+

组分类:
根据帐号的位置:本地组、远程(域)组。 LDAP,NIS,
根据帐号的功能:超级用户组(root)  UID:0
普通用户组
系统用户组 UID:1-999 
本地用户 组 UID:1000+

***每一个用户都有一个同名的组***

关于系统用户和组的相关配置文件:
帐号信息 密码信息
用户:/etc/passwd /etc/shadow
组: /etc/group /etc/gshadow

/etc/passwd 每个字段的作用:
root:x:0:0:root:/root:/bin/bash
用户名 : 密码占位符 : UID : GID : 用户描述 : 用户主目录(bash中"~"代表哪个) : 登录后使用的shell

passwd中伪用户:
系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求

/etc/shadow: 结构:

root:$6$.BTyNB8Q397zR.KY$412……M8ZHWiidd/:16274: 0 : 99999 : 7 : : :
RHEL7用户及组的管理

了解:
/etc/group配置文件结构:
[root@localhost ~]# grep yy /etc/group
yy:x:1000:yy
组名,密码占位符,GID,组成员(用户名)

添加用户帐号相关命令:
语法:useradd 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell

[root@localhost ~]# useradd yy
[root@localhost ~]# ls /home/
yy
[root@localhost ~]# tail -1 /etc/passwd
yy:x:1000:1000::/home/yy:/bin/bash

指定用户UID
[root@localhost ~]# useradd -u 2017 sunwukong
[root@localhost ~]# id sunwukong
uid=2017(sunwukong) gid=2017(sunwukong) 组=2017(sunwukong)
指定用户的宿主目录
[root@localhost ~]# useradd -d /home/zhubajie zhubajie
[root@localhost ~]# tail -1 /etc/passwd
zhubajie:x:2018:2018::/home/zhubajie:/bin/bash
指定用户的起始组
[root@localhost ~]# useradd -g 2017 shasheng
[root@localhost ~]# id shasheng
uid=2019(shasheng) gid=2017(sunwukong) 组=2017(sunwukong)
指定用户附加组
[root@localhost ~]# useradd -G 2018 tangsanzang
[root@localhost ~]# id tangsanzang
uid=2020(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)指定用户的登录shell
[root@localhost ~]# useradd -M -s /sbin/nologin mysql
注:-M再创建用户时不创建用户宿主目录
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang tangsanzhang yy zhubajie

创建用户的另外的命令
useradd =adduser

关于用户密码的命令:
[root@localhost ~]# passwd #默认修改的是当前登录用户
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd zhubajie
Changing password for user zhubajie #修改指定用户的密码
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

如果你创建一百个用户,并给一百个用户,输入一个初始密码?怎么办?
[root@localhost ~]# echo 123456 | passwd --stdin zhubajie
Changing password for user zhubajie.
passwd: all authentication tokens updated successfully.

Linux用户密码加密方法:sha512

修改用户信息:
语法:
#usermod 用户名

常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell

[root@localhost ~]# id tangsanzang
uid=2020(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)
[root@localhost ~]# usermod -u 1111 tangsanzang
[root@localhost ~]# id tangsanzang
uid=1111(tangsanzang) gid=2020(tangsanzang) 组=2020(tangsanzang),2018(zhubajie)
[root@localhost ~]# usermod -g 2017 -G 2018 tangsanzang
[root@localhost ~]# id tangsanzang
uid=1111(tangsanzang) gid=2017(sunwukong) 组=2017(sunwukong),2018(zhubajie)

删除用户:
#userdel 用户名 ***-r 宿主目录一起删除***
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang yy zhubajie
[root@localhost ~]# userdel -r yy
[root@localhost ~]# ls /home/
shasheng sunwukong tangsanzang zhubajie

添加组:
[root@localhost ~]# groupadd huaguoshan
[root@localhost ~]# grep huaguoshan /etc/group
huaguoshan:x:2022:

删除组:
[root@localhost ~]# groupdel huaguoshan
[root@localhost ~]# grep huaguoshan /etc/group
[root@localhost ~]#

控制添加用户规则的文件
[root@localhost ~]# vim /etc/default/useradd
HOME=/home #哪个目录作为用户主目录存放目录。如果你不想让用户家目录在/home下,可以修改这个地方。
SHELL=/bin/bash  #默认shell使用哪个
SKEL=/etc/skel   #模板目录

解决模板文件被删之后显示不正常的问题
[root@localhost ~]# useradd u01
[root@localhost ~]# echo 123123 |passwd --stdin u01
更改用户 u01 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# ls -a /home/u01/
. .. .bash_logout .bash_profile .bashrc
[root@localhost ~]# rm -rf !$.bash
rm -rf /home/u01/.bash

[root@localhost ~]# ls -a /home/u01/
. ..
[root@localhost ~]# su - u01
-bash-4.2$

恢复:
-bash-4.2$ cp /etc/skel/.bash /home/u01
-bash-4.2$ chown u01:u01 /home/u01/.bash

切换用户:
[root@localhost ~]# su - u01
加上- ,在切换时会把环境变量一起进行切换
不加,保留原本的环境变量

查看用户信息相关命令:
[root@localhost ~]# id u01
uid=2022(u01) gid=2022(u01) 组=2022(u01)

[root@localhost ~]# w
03:04:54 up 3:10, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.100.1 00:43 1:46m 0.18s 0.18s -bash
root pts/1 192.168.100.1 02:11 1:50 0.24s 0.00s -bash
root pts/2 192.168.100.1 03:04 6.00s 0.03s 0.02s w

[root@localhost ~]# who
root pts/0 2017-12-08 00:43 (192.168.100.1)
root pts/1 2017-12-08 02:11 (192.168.100.1)
root pts/2 2017-12-08 03:04 (192.168.100.1)

[root@localhost ~]# yum -y install finger
[root@localhost ~]# finger u01 ##列出用户的相关信息
Login: u01 Name: 
Directory: /home/u01 Shell: /bin/bash
Last login 五 12月 8 03:03 (CST) on pts/1
No mail.
No Plan.









本文转自信自己belive51CTO博客,原文链接:http://blog.51cto.com/11638205/2048653 ,如需转载请自行联系原作者

相关文章
|
存储 人工智能 算法
云计算的第三次浪潮:人工智能与云计算的融合
在2023年的云栖大会主论坛上,中国工程院院士、阿里云创始人王坚发表了题为《云计算的第三次浪潮》的主题演讲,他强调了人工智能与云计算的结合带来的重大影响,并认为这将引发云计算的第三次浪潮。云计算的第三次浪潮正在悄然兴起,其与人工智能的结合引发了前所未有的技术革命。那么本文将聊聊2023年人工智能和云计算的集中体现和爆发,以及云计算与GPT模型的关系。
2110 47
云计算的第三次浪潮:人工智能与云计算的融合
|
机器学习/深度学习 并行计算 图形学
CPU、GPU、TPU、NPU等到底是什么?
CPU、GPU、TPU、NPU等到底是什么?
3611 3
|
4月前
|
算法 数据安全/隐私保护 计算机视觉
人脸识别图片眨眼生成器,一键生成眨眼照片,照片眨眼生成器免费
要使用此代码,您需要先下载dlib的68点人脸关键点模型文件(shape_predictor_68_face_landmarks.dat)
|
11月前
|
Java API 数据处理
《如何在Java中实现函数式编程》
在Java中实现函数式编程主要依赖于Lambda表达式和函数式接口。通过定义单方法接口并使用`@FunctionalInterface`注解,可以轻松创建Lambda表达式的实例,执行基本运算。结合Java 8的Stream API,还能进行复杂的数据处理,如过滤、映射和归约操作,极大提升了代码的简洁性和可读性。
224 16
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
边缘计算 人工智能 5G
5G 组网模式:NSA 与 SA 的比较与应用
5G 组网模式:NSA 与 SA 的比较与应用
5524 1
|
关系型数据库 MySQL 数据库
MySQL 复制A的表结构和数据到表B
在MySQL中复制表A至表B可通过不同方法实现。一种是先用`CREATE TABLE B LIKE A;`复制结构,再用`INSERT INTO B SELECT * FROM A;`填充数据。另一种更简便的方法是直接使用`CREATE TABLE B AS SELECT * FROM A;`一次性完成结构和数据的复制。还有一种高级方法是通过`SHOW CREATE TABLE A;`获取表A的创建语句,手动调整后创建表B,如有需要再用`INSERT INTO ... SELECT`复制数据。注意权限问题、跨数据库复制时需指定数据库名,以及大表复制时可能影响性能。
902 1
|
存储 数据处理 数据库
InfluxDB数据之谜:如何巧妙地删除和修改你的时间序列数据?
【8月更文挑战第20天】InfluxDB是一款高性能时间序列数据库,专为快速存储与检索时间序列数据设计。本文通过Python示例介绍如何在InfluxDB中执行数据删除与间接修改操作。首先安装`influxdb`库,接着连接数据库。使用`DELETE`语句可按条件删除数据;因InfluxDB不直接支持数据修改,可通过查询、更新并重写数据的方式来实现。注意这种方式可能影响性能,需谨慎使用。随着社区发展,未来将提供更多高效的数据管理工具。
1300 1
|
图形学
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏3(附项目源码)
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏3(附项目源码)
674 0
|
弹性计算 运维 监控
停止、重启或释放ECS实例
停止、重启或释放ECS实例
1545 4