查看“Linux 用户和组的概念”的源代码
←
Linux 用户和组的概念
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==用户和组== Linux基于用户身份对资源访问进行控制 [[文件:linux3-103.jpg]] 假设:你有一套非常好的漫画,同宿舍的及班里班外的人都想看 ?你怎么办呢 ? 一种办法是对所有人都赋予相同的权限,但是这样漫画主人可能就比较吃亏; 还一种办法是对所有人根据远近亲疏授予不同的权限,你自己和同宿舍的可以多看,本班和外班的可以少看。这就是Linux将用户划分为不同类别的缘由。 ===用户的类别=== '''Linux下的用户可以分为三类:超级用户、系统用户和普通用户。''' ====超级用户==== 超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。 ====普通用户==== 而普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。 ====系统用户==== 系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,例如:bin、daemon、adm、lp等用户。 每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~499,普通用户的UID为500~60 000之间的值。 === 什么是组 === 组是Linux对用户的划分。 用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组。这样用户组下的用户对该文件或目录都具有相同的权限。 举例:对于一份时间表 一些用户只能查看时间表的内容而不能修改 另一些用户具有读写时间表的权限 这样我们就可以把用户划分为两组,一组只能读这个文档,一组可以读、可以写。 ===初始组、系统组和标准组=== Linux的组有私有组、系统组、标准组之分。'''建立账户时,若没有指定账户所属的组,系统会建立一个组名和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。而标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组是Linux系统正常运行所必需的,安装Linux系统或添加新的软件包会自动建立系统组。''' Linux系统关于组的信息存放在文件/etc/group中 组标识号: GID(Group Identify,组标识号) 关联知识: UID(User Identity,用户标识号) GID(Group Identify,组标识号) ===用户和组的关系=== 用户和用户组的对应关系是:一对一、多对一、一对多或多对多; *一对一:某个用户可以是某个组的唯一成员; *多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组; *一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员; ==用户和组文件== ===用户帐号文件 —— passwd=== 用于保存用户的帐号基本信息 文件位置:/etc/passwd 每一行对应一个用户的帐号记录 <nowiki>[root@localhost ~]# tail -2 /etc/passwd sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin student:x:500:500:Student User:/home/student:/bin/bash</nowiki> *字段1:用户帐号的名称 *字段2:用户密码字串或者密码占位符“x” *字段3:用户帐号的UID号 *字段4:所属基本组帐号的GID号 *字段5:用户全名 *字段6:宿主目录 *字段7:登录Shell信息 cat /etc/passwd查看所有的用户信息,详情如下图 [[文件:linux3-101.jpg]] 从文件中我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下: 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell ===用户帐号文件 —— shadow=== 由于文件是任何用户都有权限读取的,所以用户口令很容易被黑客盗取,针对这种情况,linux使用影子文件/etc/shadow,来提高口令的安全性。 /etc/shadow用于保存密码字串、密码有效期等信息 文件位置:/etc/shadow 每一行对应一个用户的密码记录 <nowiki>[root@localhost ~]# tail -2 /etc/shadow sabayon:!!:15495:0:99999:7::: student:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:15495:0:99999:7:::</nowiki> *字段1:用户帐号的名称 *字段2:加密的密码字串信息 *字段3:上次修改密码的时间 *字段4:密码的最短有效天数,默认值为0 *字段5:密码的最长有效天数,默认值为99999 *字段6:提前多少天警告用户口令将过期,默认值为7 *字段7:在密码过期之后多少天禁用此用户 *字段8:帐号失效时间,默认值为空 *字段9:保留字段(未使用) '''思考:哪些文件是用户账号文件?''' ===用户帐号的初始配置文件=== 文件来源: 新建用户帐号时,从 /etc/skel 目录中复制而来 主要的用户初始配置文件 ~/.bash_profile:用户每次登录时执行 ~/.bashrc:每次进入新的Bash环境时执行 ~/.bash_logout:用户每次退出登录时执行 [root@maxin ~]# cat ~/.bash_profile <nowiki># .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH</nowiki> ===组帐号文件 — group、gshadow=== 与用户帐号文件相类似 <nowiki>/etc/group:保存组帐号基本信息 /etc/gshadow:保存组帐号的密码信息</nowiki> <nowiki>[root@localhost ~]# grep "adm" /etc/group sys:x:3:root,bin,adm adm:x:4:root,adm,daemon</nowiki>
返回至
Linux 用户和组的概念
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息