[转帖]Linux中的用户和用户组
https://www.jianshu.com/p/76700505cac4
1,Linux中的用户分类
超级用户:拥有对系统的最高管理权限,默认是root用户。
普通用户:只能对自己目录下的文件进行访问和修改,具有登录到系统的权限。
虚拟用户:这类用户最大的特点就是不能登录系统,他们的存在主要是方便系统管理,满足相应得进程对文件属主的要求。例如系统默认的bin.adm.nobody用户等,一般运行的是web服务,默认使用的是nobody用户,但是nobody用户是不被允许登录系统的。
2,用户组的概念
用户组是具有相同特征用户的逻辑集合。又是我们需要让多个用户有相同的权限,比如查看修改某个文件的权限,一种方法就是对多个用户进行访问授权,如果有10个用户的话,就要授权10次。显然这种方法不太合理。另一种方法就是建立一个组,让这10个用户放在同一个组中,同时授权这个组有查看,修改这个文件的权限。这就是用户组,Linux将用户分组是Linux对用户进行管理及访问控制权限的一种手段,通过定义用户组,很大程度上简化了管理工作。
3,用户与用户组的关系
一对一:一个用户存在一个组中,即这个用户是这个组的唯一成员。
一对多:一个用户可以存在多个用户组中,用户有多个用户组的权限。
多对一:多个用户可以存在一个用户组中,这些用户具有和组一样的权限。
多对多:多个用户可以存在多个组中。
4,用户和组的配置文件
(1)/etc/passwd/文件,记录了系统每个用户的属性。
格式:“用户名:口令:用户标识号:组标识号:注释描述:主目录:默认shell”
含义:用户名:代表用户账号的字符串。
口令:存放着加密后的用户口令,这个字段存放的只是用户口令的加密串,不是明文。但是/etc/passwd/文件所有用户都可以读,所以这是个安全隐患,所以许多Linux版本中使用shadow技术,把真正加密后的用户口令存放在/etc/shadow/中,而在/etc/passwd/文件中用x或者*代替。
用户标识号:就是用户的UID,每个用户都有一个UID,并且是唯一的。通常UID的取值范围为0~65535。0是超级用户root的标识号,1~99由系统保留,作为管理账号。普通用户是从100开始的,而Linux中默认是从500开始的。UID是Linux下确认用户权限的标志,用户的角色和权限都是通过UID来实现的。因此多个用户共用一个UID是很危险的,会造成系统管理和权限的紊乱。
组标识号:就是组的GID,与用户的UID类似,这个字段记录了用户所属的用户组,它对应着/etc/group/文件中的一条记录。
注释描述:是对用户的描述信息,比如电话,住址,姓名等等。
主目录:是用户登录到系统之后默认的目录。
默认shell:用户登录到系统后默认使用的命令解释器,shell是用户和Linux内核之间的接口,用户所做的任何操作,都是通过shell传递给系统内核的。Linux下常用的shell有:sh,bash,csh等。管理员可以根据用户的习惯,为用户设置不同的shell。
例子:
6,/etc/shadow/文件
/etc/shadow/文件:用户加密咨询文件,该文件只有root用户拥有读权限,从而保护了密码的安全性。
格式:“ 用户名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留字段”
含义:
用户名:与/etc/passwd/文件中的用户名有相同的含义。
加密口令:存放的是用户口令加密后的字符串,如果此字段是*!x这三个字符,则对应的用户不能登录系统。
最后一次修改时间:表示从某个时间起,到最近一次修改口令的间隔天数。可以通过passwd来修改密码,然后查看/etc/shadow/来查看此字段的变化。
最小时间间隔:表示两次修改密码之间的最小时间间隔。
最大时间间隔:表示两次修改密码之间的最大时间间隔,这个设置能增强管理员管理用户的时效性。
警告时间:表示系统开始警告用户到密码正式失效的天数。
不活动时间:此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统不再让此用户登录,也不会提示用户过期,是完全禁用。
失效时间:表示该用户的帐号生存期,超过这个设定时间,帐号失效,用户就无法登录系统了。如果这个字段的值为空,帐号永久可用。
保留字段:linux的保留字段,目前为空,以备linux日后发展之用。
7,/etc/group/文件
用户组信息文件,保存用户组的信息。
格式:“组名:口令:组标识号:组内用户列表”
组名:是用户组的名称,由字母或数字构成。与/etc/passwd中的用户名一样,组名不能重复。
口令:存放的是用户组加密后的口令字串,密码默认设置在/etc/gshadow文件中,而在这里用“x”代替,linux系统下默认的用户组都没有口令,可以通过gpasswd来给用户组添加密码。
组标识号:就是GID,与/etc/passwd中的组标识号对应。
组内用户列表: 显示属于这个组的所有用户,多个用户之间用逗号分隔。
8,/etc/gshadow/文件
用户组加密咨询文件,保存了用户组密码的一类信息,/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。
格式:“组名:口令:组管理者:组成员”
含义:
组名:用户组名称
口令:存放的是用户组密码的加密口令,如果是空的或者是!表示没有密码。
用户组管理者:也可以为空,如果有多个管理这,之间用','隔开。
组成员:如果有多个成员用','隔开。
8,其他目录和文件
(1)etc/login.defs文件
用来定义创建一个用户时的默认设置,比如指定用户的UID和GID的范围,用户的过期时间、是否需要创建用户主目录等等。
下面是rhel5下的/etc/login.defs文件,简单介绍如下:
MAIL_DIR /var/spool/mail
当创建用户时,同时在目录/var/spool/mail中创建一个用户mail文件
PASS_MAX_DAYS 99999
#指定密码保持有效的最大天数
PASS_MIN_DAYS 0
表示自从上次密码修改以来多少天后用户才被允许修改口令
PASS_MIN_LEN 5
指定密码的最小长度
PASS_WARN_AGE 7
表示在口令到期前多少天系统开始通知用户口令即将到期
UID_MIN 500
指定最小UID为500 ,也就是说添加用户时,用户的UID 从500开始
UID_MAX 60000
指定最大UID为60000
GID_MIN 500
指定最小GID为500,也就是添加组时,组的GID从500开始。
GID_MAX 60000
指定最大GID为60000
CREATE_HOME yes
此项是指定是否创建用户主目录,yes为创建,no为不创建。
(2)/etc/skel目录
/etc/skel目录定义了新建用户在主目录下默认的配置文件,更改/etc/skel目录下的内容就可以改变新建用户默认主目录的配置文件信息,例如创建一个新用户后,会在新用户的主目录下看到类似.bash_profile, .bashrc, .bash_logout等文件,这些文件就是存在于/etc/skel目录下的。
(3)/etc/default/useradd文件
useradd 添加用户时的规则文件,当我们通过useradd命令不加任何参数创建一个用户后,用户默认的主目录一般位于/home下,默认使用的shell是/bin/bash,这些都是在/etc/default/useradd文件中定义的。更改此文件可以更改添加用户的默认配置,除此方法外还可以通过adduser命令的参数来实现。
内容如下:
GROUP=100
HOME=/home :把用户的家目录建在/home中
INACTIVE=-1 :是否启用帐号过期停权,-1表示不启用
EXPIRE= :帐号终止日期,不设置表示不启用
SHELL=/bin/bash :所用SHELL的类型
SKEL=/etc/skel :默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的
[转帖]Linux中的用户和用户组的更多相关文章
- Linux中的用户和用户组
在Linux中,有三种用户: Root 用户:也称为超级用户,对系统拥有完全的控制权限.超级用户可以不受限制的运行任何命令.Root 用户可以看做是系统管理员. 系统用户:系统用户是Linux运行 ...
- linux 中更改用户权限和用户组的命令chmod,chgrp实例
linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz ...
- Linux下的用户和用户组,文件权限:chown和chmod
如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...
- linux基础之用户及用户组管理
本节内容 用户管理 1. 为什么需要用户? 1.linux是一个多用户系统 2.权限管理(权限最小化) 2. 用户相关文件 /etc/passwd -->用户基本信息 /etc/shadow - ...
- Linux中加入用户、删除用户时新手可能遇到的问题
Linux中加入用户.删除用户时新手可能遇到的问题 1.创建新用户后切换到新用户:No directory, logging in with HOME=/ 加入用户 #sudo us ...
- Linux中切换用户变成-bash4.1-$的解决方法【转】
转自 Linux中切换用户变成-bash4.1-$的解决方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/articl ...
- 6-查看centos中的用户和用户组
转载自:http://www.cnblogs.com/ermao0423/p/9510636.html 查看centos中的用户和用户组 1.用户列表文件:/etc/passwd/ 2.用户组列表文件 ...
- 查看centos中的用户和用户组和修改密码
查看centos中的用户和用户组 1.用户列表文件: vim /etc/passwd/ 2.用户组列表文件: vim /etc/group 3.查看系统中有哪些用户: cut -d : -f /etc ...
- Linux中root用户找不到JAVA_HOME
Linux中root用户找不到JAVA_HOME 在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubunt ...
- linux中的用户、群组和权限
linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为“master” groupadd -g 555 natasha useradd -u 1 ...
随机推荐
- AI辅助宫颈癌筛查技术全球居首,守护者的力量来源是?
宫颈癌,是常见的妇科恶性肿瘤.宫颈癌发病率在妇科恶性肿瘤中仅次于乳腺癌,但同时也是医学界公认的病因明确,预防有疫苗.且早期治愈率高的病症!病理形态学诊断被医学界公认为疾病诊断的"金标准&qu ...
- 乐高式扩展:在Seal软件供应链防火墙中轻松集成代码规范工具
上个月,Seal 软件供应链防火墙 v0.2(以下简称"Seal")正式发布,这一版本实现了可扩展架构,用户可以根据自身需求插件式集成原生或第三方解决方案,灵活扩展扫描能力. 在前 ...
- 如何打造企业专属 A/B 平台?火山引擎 DataTester 开放平台技术揭秘
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 企业为什么需要开放平台 开放平台对于企业与业务来说,做到的不仅是能力的开放.生态的开放,与此同时还要能提供完善的业 ...
- 如何通过命令部署.Net
如何通过命令部署.net3.5组件服务 问题:系统安装.net一直报错,无法安装该功能. 问题现象: 终极解决方案: 将windows10系统镜像文件拷贝在硬盘或者U盘中,鼠标右击选择"装载 ...
- AliSSR 语音超分算法:让在线会议语音更明亮更自然
超分让在线会议语音更明亮,在线会议已成为日常工作中较为普遍的沟通交流方式,接入会议的方式也呈现多样化,比如电脑入会.手机入会又或是电话入会. 雪雅.曜辰|作者 众所周知,高采样率且高带宽的音频信号富含 ...
- 阿里云 AI 编辑部获 CCBN 创新奖,揭秘传媒行业解决方案背后的黑科技
5 月 27 日,CCBN(第二十八届中国国际广播电视信息网络展览会)在北京隆重召开,在本次的 "CCBN 年度创新奖" 评选中,阿里云视频云凭借AI 编辑部的传媒行业专业解决方案 ...
- Arch Linux 更换国内镜像源
自己用的 Arch Linux 在使用 pacman -Syu 更新系统时出现了连接超时的问题,看来又需要换个镜像源了.趁着今天还没想好要分享的内容,那就干脆以此为主题,总结一下如何给 Arch Li ...
- 开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务。
前言: 在发布完:开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能. 本想既然都有 ...
- <vue 组件 4、插槽的使用>
代码结构 一. 01-slot-插槽的基本使用 1. 效果 同样的一个插槽,父组件调用的时候不同展现的内容就不同 2.代码 01-slot-插槽的基本使用.html <!DOCTYPE ...
- uni-app 从入门到放弃(持续更新)
https://blog.csdn.net/weixin_33940102/article/details/91460204