百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

一文详解Linux用户和用户组(linux中用户和组的概念)

nanshan 2024-11-04 13:07 8 浏览 0 评论

一、用户

#前言用户的身份在我们平时中就很常见,比如我们要登录百度网盘,qq都是以一个用户的身份进行登录,那么在Linux系统中也一样,我们也是需要一个用户来登录到服务器里面,然后再做相关的操作,一个进程也需要以一个用户的身份运行。

用户分类

root用户(根用户、管理员账户、超级用户) (root用户的id为0)

系统用户 UID:1-999(centos7版本)

普通用户 UID:1000+

使用id命令都可以显示当前用户的信息

使用passwd命令可以修改当前用户密码

#和用户相关联的四个文件

/ect/passwd #保存用户信息

/ect/shadow #保存用户密码

/ect/group #保存组信息

/etc/gshadow #保存组的密码信息

#/etc/passwd字段的作用

如:root:x:0:0:root:/root:/bin/bash

1.root:用户名

2.x:密码占位符

3.0:UID

4.0:GID

5.root:用户描述

6./root:用户主目录

7./bin/bash:登陆后使用的shell

##/etc/shadow字段作用

如:root:I.m1XoRd0W8Pc7C........Phodj8ZM1: :0:99999:7: : :

1 root: 用户名

2 I.m..M1: 被加密后的密码

3 最近修改密码的日期

4 0:密码不能更改的天数,0表示随时可以修改

5 99999:密码过期时间

6 7:密码需要更改期限到来前7天发出警告

7 宽限天数,密码过期几天后还能改密码

8 账号过期时间

9 保留

#useradd创建用户

命令:useradd

语法:useradd 用户名字

#例子:useradd zhangsan

#创建用户的另外一个命令

adduser 用户

#创建用户执行的操作

1.在/etc/passwd中添加用户信息

2.如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中

3.为用户建立一个新的家目录/home/zhangsan

4.将/ect/skel中的文件复制到用户的家目录中

5.建立一个与用户名相同的组,新建用户默认属于这个同名组

#常用参数

-c:注释

-d:指定家目录

-M:不创建用户的主目录

-s:指定shell

-u:指定用户id

-g:指定属于的组

-G:指定属于多个组

-m:创建家目录

-D:附属组

man useradd #查看更多帮助

#例子

1、指定shell创建

[root@centos7 ~]# useradd -s /bin/bash test

[root@centos7 ~]# cat /etc/passwd|grep test

test:x:1001:1001::/home/test:/bin/bash

设置密码

[root@centos7 ~]# passwd test

2、指定userid创建

[root@centos7 ~]# useradd -u 1005 test1

[root@centos7 ~]# cat /etc/passwd|grep test1

test1:x:1005:1005::/home/test1:/bin/bash

3、指定所属组创建

[root@centos7 ~]# groupadd sales

[root@centos7 ~]# useradd -g sales test20

[root@centos7 ~]# id test20

uid=1009(test20) gid=1007(sales) groups=1007(sales)

4、指定属于多个组

[root@centos7 ~]# useradd -G sales,tech test3

[root@centos7 ~]# id test3

uid=1007(test3) gid=1009(test3) groups=1009(test3),1006(sales),1008(tech)

#usermod修改用户信息

语法:usermod 参数 username

#常用参数

-l 新用户名

-u 新userid

-d 用户家目录位置

-g 用户所属主组

-G 用户所属附属组

-L 锁定用户使其不能登陆

-U 解除锁定

-f 强制

#示例

1、修改用户UID

[root@centos7 ~]# id test

uid=1001(test) gid=1001(test) groups=1001(test)

[root@centos7 ~]# usermod -u 1300 test

[root@centos7 ~]# id test

uid=1300(test) gid=1001(test) groups=1001(test)

2、修改shell

[root@centos7 ~]# usermod -s /sbin/nologin test

[root@centos7 ~]# cat /etc/passwd|grep test

test:x:1300:1001::/home/test:/sbin/nologin

3、更改用户主目录

[root@centos7 ~]# mkdir /data

[root@centos7 ~]# usermod -m -d /data/test test

-m:会自动创建新目录并且移动内容到新目录里面

#userdel删除用户

语法:userdel 用户名

选项:-r:同时删除用户的家目录

#例子

userdel test 删除test用户

userdel test1 删除test1用户

userdel -r test2 #删除test2用户同时删除用户的家目录

#关于用户的几个目录文件

1./etc/skel目录/etc/skel目录是用来存放新用户配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到新添加的用户的家目录下:默认情况下,/etc/skel目录下的所有文件都是隐藏文件(以.点开头的文件);通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。

#查看/etc/skel文件目录的内容

2./etc/login.defs:用来定义创建用户时需要的一些用户的配置信息,如创建用户时是否需要家目录,UID和GID范围,用户及密码的有效期限等

3./etc/default/useradd文件:是在使用useradd添加用户时的一个需要调用的一个默认的配置文件,可以使用 “useradd -D 参数”,这样的命令格式来修改文件里的内容。查看文件的默认内容

二、用户组

几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。

一.每个组有一个组ID

二.组信息保存在/etc/group中

三.每个用户拥有一个主组,同时还可以拥有多个附属组

#组的创建,修改,删除

groupadd:创建组

语法:groupadd 组名

groupmod:修改组信息

语法:groupmod -n newname 原来组名

groupdel:删除组

语法:groupdel 组名

#例子

1、创建组

[root@centos7 ~]# groupadd sales1

[root@centos7 ~]# groupadd sales2

[root@centos7 ~]# tail -n 2 /etc/group

sales1:x:1110:sales2:x:1111:

2、修改组信息

#将sales1的组名修改成newsales

[root@centos7 ~]# groupmod -n newsales sales1

[root@centos7 ~]# tail -n 1

/etc/groupnewsales:x:1110:

3、删除组

[root@centos7 ~]# groupdel sales2

[root@centos7 ~]# cat /etc/group|grep sales2

#命令小结

1.w :显示有哪些用户已经登录并且在干什么

2.who :显示有哪些用户已经登录系统

3.whoami :显示当前用户

4.id :查看用户

5.useradd :添加用户

6.userdel :删除用户

7.usermod :修改用户信息

8.passwd :设置密码

9.groupadd :添加组

10.groupmod :修改组信息

11.groupdel :删除组

#关注微信公众号:老油条IT记,获取更多内容

相关推荐

服务器数据恢复—Raid5数据灾难不用愁,Raid5数据恢复原理了解下

Raid5数据恢复算法原理:分布式奇偶校验的独立磁盘结构(被称之为raid5)的数据恢复有一个“奇偶校验”的概念。可以简单的理解为二进制运算中的“异或运算”,通常使用的标识是xor。运算规则:若二者值...

服务器数据恢复—多次异常断电导致服务器raid不可用的数据恢复

服务器数据恢复环境&故障:由于机房多次断电导致一台服务器中raid阵列信息丢失。该阵列中存放的是文档,上层安装的是Windowsserver操作系统,没有配置ups。因为服务器异常断电重启后,rai...

服务器数据恢复-V7000存储更换磁盘数据同步失败的数据恢复案例

服务器数据恢复环境:P740+AIX+Sybase+V7000存储,存储阵列柜上共12块SAS机械硬盘(其中一块为热备盘)。服务器故障:存储阵列柜中有磁盘出现故障,工作人员发现后更换磁盘,新更换的磁盘...

「服务器数据恢复」重装系统导致XFS文件系统分区丢失的数据恢复

服务器数据恢复环境:DellPowerVault系列磁盘柜;用RAID卡创建的一组RAID5;分配一个LUN。服务器故障:在Linux系统层面对LUN进行分区,划分sdc1和sdc2两个分区。将sd...

服务器数据恢复-ESXi虚拟机被误删的数据恢复案例

服务器数据恢复环境:一台服务器安装的ESXi虚拟化系统,该虚拟化系统连接了多个LUN,其中一个LUN上运行了数台虚拟机,虚拟机安装WindowsServer操作系统。服务器故障&分析:管理员因误操作...

「服务器数据恢复」Raid5阵列两块硬盘亮黄灯掉线的数据恢复案例

服务器数据恢复环境:HPStorageWorks某型号存储;虚拟化平台为vmwareexsi;10块磁盘组成raid5(有1块热备盘)。服务器故障:raid5阵列中两块硬盘指示灯变黄掉线,无法读取...

服务器数据恢复—基于oracle数据库的SAP数据恢复案例

服务器存储数据恢复环境:某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。服务器存储故障&分析:该RAID5阵...

「服务器虚拟化数据恢复」Xen Server环境下数据库数据恢复案例

服务器虚拟化数据恢复环境:Dell某型号服务器;数块STAT硬盘通过raid卡组建的RAID10;XenServer服务器虚拟化系统;故障虚拟机操作系统:WindowsServer,部署Web服务...

服务器数据恢复—RAID故障导致oracle无法启动的数据恢复案例

服务器数据恢复环境:某品牌服务器中有一组由4块SAS磁盘做的RAID5磁盘阵列。该服务器操作系统为windowsserver,运行了一个单节点Oracle,数据存储为文件系统,无归档。该oracle...

服务器数据恢复—服务器磁盘阵列常见故障表现&解决方案

RAID(磁盘阵列)是一种将多块物理硬盘整合成一个虚拟存储的技术,raid模块相当于一个存储管理的中间层,上层接收并执行操作系统及文件系统的数据读写指令,下层管理数据在各个物理硬盘上的存储及读写。相对...

「服务器数据恢复」IBM某型号服务器RAID5磁盘阵列数据恢复案例

服务器数据恢复环境:IBM某型号服务器;5块SAS硬盘组成RAID5磁盘阵列;存储划分为1个LUN和3个分区:第一个分区存放windowsserver系统,第二个分区存放SQLServer数据库,...

服务器数据恢复—Zfs文件系统下误删除文件如何恢复数据?

服务器故障:一台zfs文件系统服务器,管理员误操作删除服务器上的数据。服务器数据恢复过程:1、将故障服务器所有磁盘编号后取出,硬件工程师检测所有硬盘后没有发现有磁盘存在硬件故障。以只读方式将全部磁盘做...

服务器数据恢复—Linux+raid5服务器数据恢复案例

服务器数据恢复环境:某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。服务器故障&检测:服务器在运行过程中突然瘫痪,...

服务器数据恢复—Sql Server数据库数据恢复案例

服务器数据恢复环境:一台安装windowsserver操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。在windows服务器内装有SqlServer数据库。存储空间LU...

服务器数据恢复—阿里云ECS网站服务器数据恢复案例

云服务器数据恢复环境:阿里云ECS网站服务器,linux操作系统+mysql数据库。云服务器故障:在执行数据库版本更新测试时,在生产库误执行了本来应该在测试库执行的sql脚本,导致生产库部分表被tru...

取消回复欢迎 发表评论: