欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Linux-用户与用户组(第4章).ppt

    • 资源ID:6511125       资源大小:213.50KB        全文页数:30页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux-用户与用户组(第4章).ppt

    内容介绍,1、理解用户和组的概念2、用户与用户组管理,用户和组的概念,帐户实质:Linux操作系统是多用户的操作系统,它允许多个用户同时登录到系统上,使用系统资源,当多个用户能同时使用系统时,为了使所有用户的工作都能顺利进行,保护每个用户的文件和进程,也为了系统自身的安全和稳定,必须建立起一种秩序,使每个用户的权限都能得到规范。为此,首先就需要区分不同的用户,这就产生了用户帐户。帐户实质上就是一个用户在系统上的标识,系统依据帐户来区分每个用户的文件,进程,任务,给每个用户提供特定的工作环境(如用户目录、shell版本、以及x-windows环境的配置等),使每个用户的工作都能独立不受干扰地进行。用户和组:广义上讲,linux的帐户包括用户帐户和组帐户两种。Linux系统下的用户帐户(简称用户)有两种,普通用户帐户和超级用户帐户(或管理员帐户)。普通用户在系统上的任务是进行普通工作,管理员在系统上的任务是对普通用户和整个系统进行管理。管理员帐户对系统具有绝对控制权,能够对系统进行一切操作,如操作不当很容易对系统造成损坏。因此即使系统只有一个用户使用,也应该在管理员帐户之外建立一个普通用户帐户,在用户进行普通工作的时候以普通用户帐户登录系统。除了用户帐户之外,在linux下还存在组帐户(简称组)。组是用户的集合。在Linux中组有两种类型:私有组和标准组。当创建一个新用户时,若没有指定他所属的组,Linux就建立一个和该用户同名的私有组。此私有组中只包含这个用户自己。标准组可以容纳多个用户,若使用标准组,在创建一个新的用户时就应该指定他所属于的组。,用户和组的概念,从另一方面讲,同一个用户可以同属于多个组,例如某单位有领导组和技术组等,Tom是该单位的技术主管,所以他既应该属于领导组又应该属于技术组。当一个用户属于多个组时,其登录后所属的组称为主组,其他的组称为附加组。Linux环境下的帐户系统文件Linux下的帐户系统文件主要有/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow四个文件/etc/passwd:/etc/passwd文件中每行定义一个用户帐号,一行中又划分为多个字段定义用户帐号的不同属性,各字段间用”:”分隔,例如:root:x:0:0:root:/root:/bin/bash从左到右各字段的意义如下:用户名:这是用户登录系统时使用的用户名口令:此字段存放加密的口令。在此文件中的口令是x,这表示用户的口令是被/etc/shadow文件保护的,所有加密的口令以及和口令有关的设置都存在/etc/shadow中。用户标识号:是一个整数,系统内部用它来标识用户,每个用户的UID都是唯一的。Root用户的UID是0,用户和组的概念,组标识号:是一个整数,系统内部用它来标识用户所属的组注释性描述:例如存放用户全名等信息自家目录:用户登录系统后所进入的目录命令解释器:指示该用户使用的shell,linux默认为bash/etc/shadow/etc/passwd文件对任何用户均可读,为了增加系统的安全性,用户的口令通常用shadow passwords保护./etc/shadow只对root用户可读。在安装系统时,会询问用户是否启用shadowpasswords功能,在安装好系统后也可以用pwconv命令和pwunconv命令来启动或取消shadowpasswords的保护。CentOS默认使用shadow passwords保护。经过shadow passwords保护的帐户口令和相关设置信息保存在/etc/shadow文件里,其内容如下:bin:*:13855:0:99999:7:其中各字段的意义如下:用户名:口令:最后一次修改的时间(天数):最小时间间隔(从1970年1月1日起,到用户可以更改口令的天数):最大时间间隔(从1970年1月1日起,到用户必须更改口令的天数):警告时间(在用户口令过期之前多少天提醒用户更新):不活动时间(在用户口令过期之后到禁用帐户的天数):失效时间(从1970年1月1日起,到帐户被禁用的天数):标志(保留位),用户和组的概念,/etc/group将用户分组是Linux中对用户进行管理及控制访问权限的一种手段。每个用户都属于某一个组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组的成员,组的所有属性都存放在/etc/group文件中,/etc/group文件对任何用户均可读。下面是一个/etc/group文件例子:root:x:0:root和/etc/passwd文件类似,其中每一行记录了一个组的信息,每行包括四个字段,不同字段之间用冒号隔开,其中各字段内容说明如下:组名:组口令(由于安全原因,已不使用该字段保存,用x占位):GID:组成员(属于这个组的成员)/etc/gshadow此文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。root:rootbin:root,bin,daemon组名:组口令:组的管理员帐号:组成员,用 户与 用户组管理,帐号管理:新增与删除用户:useradd,passwd,userdel 要如何在 Linux 的系统新增一个用户呢?我们登陆系统时会输入(1)账号与(2)口令,所以创建一个可用的账号同样的也需要这两个数据。那账号可以使用 useradd 来新建用户,口令的给予则使用 passwd 这个命令!这两个命令下达方法如下:useradd UserName例:useradd Tom 添加用户Tompasswd UserName 修改密码例:passwd Tom 修改Tom的密码userdel Tom 删除用户Tomuserdel r Tom 删除用户Tom及其主目录,用 户与 用户组管理,新增、修改、删除用户组groupadd/groupmod/groupdel:groupadd Tester groupmod n Developer Testergroupdel Developer查看:cat/etc/group,用 户与 用户组管理,1.文件所有者 初次接触Linux的人大概会觉得很怪异,怎么Linux有这么多使用者,还分什么群组,有什么用?。这个用户与群组的功能可是相当健全而好用的一个安全防护!怎么说呢?由于Linux是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生,为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个文件所有者的角色就显的相当的重要了!例如当你将你的一封很有趣的e-mail转存成文件之后,放在你自己的主文件夹中,当你不希望被其他人看见自己的e-mail,这个时候,你就把该文件设定成只有文件所有者,就是你自己,才能看与修改这个文件的内容,那么即使其他人知道你有个相当有趣的文件,不过由于你有设定适当的权限,所以其他人自然也就无法知道该文件的内容。,用 户与 用户组管理,2.用户组概念 那么用户组呢?为何要配置文件还有所属的用户组?其实,用户组最有用的功能之一,就是当你在团队开发资源的时候了,举例来说,假设主机上有两个团队,第一个为projecta,里面的成员有 class1,class2,class3三个;第二个为projectb,里面的成员有class4,class5,class6。这两个团队之间是有竞争性质的,但却要交同一份报告。每组的组员之间必须要能够互相修改对方的数据,但是其他组的组员则不能看到本组自己的文件内容,此时该如何是好?在Linux底下这样的限制是很简单的!可以经由简单的文件权限设定,就能限制非自己团队(也就是用户组)的其他人不能够阅览内容,而且也可以让自己的团队成员可以修改你所创建的文件。同时,如果你自己还有私人隐密的文件,仍然可以设定成让自己的团队成员也看不到你的文件数据。另外,如果pm这个账号是projecta与projectb这两个用户组的经理,他想要同时观察两者的进度,因此需要能够进入这两个用户组的权限时,你可以设定pm这个账号,同时支持projecta与projectb这两个用户组!,也就是说:每个账号都可以有多个用户组的支持。,用 户与 用户组管理,3.其他人概念 用户组以外的别的用户在Linux里面,任何一个文件都具有User,Group及Others三种身份的个别权限,用 户与 用户组管理,既然要了解Linux的文件属性,那么有个重要的也是常用的指令就必须要先说了!就是 ls 这一个查看文件的指令,在以root的身份登入Linux之后,下达 ls-la 看看,会看到下面的内容:rootlocalhost#ls-latotal 156drwxr-x-4 root root 4096 Sep 8 14:06.drwxr-xr-x 23 root root 4096 Sep 8 14:21.。省略部分。drwx-3 root root 4096 Sep 5 10:37.gconf=范例说明处drwx-2 root root 4096 Sep 5 14:09.gconfd-rw-r-r-1 root root 42304 Sep 4 18:26 install.log=范例说明处 1 2 3 4 5 6 7 权限 链接所有者用户组文件容量 修改日期 文件名,用 户与 用户组管理,第一栏代表这个文件的类型与权限(permission):这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符:第一个字符代表这个文件是目录、文件或链接文件等等:第一个字符代表这个文件是目录、文件或链接文件等等:当为 d 则是目录,例如上表文件名为.gconf的那一行;当为-则是文件,例如上表文件名为install.log那一行;若是 l 则表示为连结文件(link file);若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。,用 户与 用户组管理,接下来的字符中,以三个为一组,且均为rwx 的三个参数的组合。其中,r 代表可读(read)、w 代表可写(write)、x 代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号-而已。第一组为文件所有者的权限,以install.log那个文件为例,该文件的所有者可以读写,但不可执行;第二组为同用户组的权限;第三组为其他非本用户组的权限。例:若有一个文件的类型与权限数据为-rwxr-xr-,请说明其意义为何?,用 户与 用户组管理,第三栏表示这个文件(或目录)的所有者账号 第四栏表示这个文件的所属用户组 第五栏为这个文件的容量大小,默认单位为bytes;第七栏为这个文件的文件名比较特殊的是:如果文件名之前多一个.,则代表这个文件为隐藏文件,例如上表中的.gconf那一行,该文件就是隐藏文件。可以使用ls及ls-a这两个指令去感受一下什么是隐藏文件。,用 户与 用户组管理,如何改变文件属性与权限:我们来介绍几个常用于用户组、所有者、各种身份的权限的修改的命令,如下所示:chgrp:改变文件所属用户组 chown:改变文件所有者 chmod:改变文件的权限,用 户与 用户组管理,chgrp:改变文件所属用户组 假设你是以root的身份登入Linux系统的,那么在你的主文件夹内有一个install.log的文件,如何将该文件的用户组改变一下呢?假设你已经知道在/etc/group里面已经存在一个名为users的群组,但是test这个群组名字就不存在/etc/group当中了,此时改变群组成为users与test分别会有什么现象发生呢?#chgrp users install.log#chgrp test install.log#chgrp R users install.log,用 户与 用户组管理,chown:改变文件所有者 如何改变一个文件的所有者呢?既然改变群组是change group,那么改变拥有者就是change owner了,那就是chown这个指令的用途,要注意的是,用户必须是已经存在系统中的账号,也就是在/etc/passwd 这个文件中有纪录的用户名称才能改变。chown的用途还满多的,他还可以顺便直接修改群组的名称。另外,如果要连目录下的所有子目录或文件同时更改文件所有者的话,直接加上-R 的参数即可。我们来看看语法与范例:#chown-R 账号名称 文件或目录#chown-R 账号名称:组名 文件或目录 范例:将install.log的拥有者改为bin这个账号:#chown bin install.log 范例:将install.log的所有者与用户组改回为root:#chown root:root install.log,用 户与 用户组管理,chmod:改变文件的权限权限的设定方法有两种,分别可以使用数字或者是符号来进行权限的变更。数字类型改变文件权限:Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:r:4 w:2 x:1 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:-rwxrwx-分数则是:owner=owner=rwx=4+2+1=7group=rwx=4+2+1=7others=-=0+0+0=0 所以等一下我们设定权限的变更时,该文件的权限数字就是770,用 户与 用户组管理,数字类型改变文件权限变更权限的指令chmod的语法是这样的:chmod-R xyz 文件或目录 选项与参数:xyz:就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。-R:进行递归(recursive)的持续变更,亦即连同子目录下的所有文件都会变更 举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么就下达:#ls-la.bashrc-rw-r-r-1 root root 395 Feb 9 11:45.bashrc#chmod 777.bashrc#ls-la.bashrc那如果要将权限变成-rwxr-xr-呢?将刚刚你的.bashrc这个文件的权限修改回-rw-r-r-的情况:,用 户与 用户组管理,符号类型改变文件权限还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user(2)group(3)others三种身份。那么我们就可以通过u,g,o来代表三种身份的权限,此外,a 则代表 all 也即全部的身份,那么读写的权限就可以写成r,w,x,也就是可以使用下面的方式来看:假如我们要设定一个文件的权限成为-rwxr-xr-x,用 户与 用户组管理,符号类型改变文件权限例:假如我们要设定一个文件的权限成为-rwxr-xr-x时,基本上就是:user(u):具有可读、可写、可执行的权限;group 与 others(g/o):具有可读与执行的权限。所以就是:#chmod u=rwx,go=rx.bashrc#ls la./bashrc注意:那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格!那么假如是-rwxr-xr-这样的权限呢?此外,如果我不知道原先的文件属性,而我只想要增加.bashrc这个文件的每个人均可写入的权限,那么我就可以使用:#chmod a+w.bashrc 而如果是要将权限去掉而不更改其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:#chmod a-x.bashrc 将组权限设置为与所有者权限相同chmod g+u filechmod g=u filechmod-R g+u dirchmod-R g=u dir,用 户与 用户组管理,例题:有个目录的权限如下所示:drwxr-r-3 root root 4096 Feb 9 08:35.ssh 系统有个账号名称为admin,这个账号并没有支持root用户组,请问admin对这个目录有何权限?是否可切换到此目录中?答:admin对此目录仅具有r的权限,因此admin可以查询此目录下的文件名列表。因为admin不具有x的权限,因此admin并不能切换到此目录内!(相当重要的概念!)上面这个例题中因为admin具有r的权限,因为是r乍看之下好像就具有可以进入此目录的权限,其实那是错的。能不能进入某一个目录,只与该目录的x权限有关!此外,工作目录对于指令的执行是非常重要的,如果你在某目录下不具有x的权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r的权限。,用 户与 用户组管理,我们用root的身份在所有人都可以工作的/tmp目录中建立一个名为testing的目录,该目录的权限为744且目录拥有者为root。另外,在testing目录下在建立一个空的文件,文件名也为testing。建立目录可用mkdir(make directory),建立空文件可用touch。所有过程如下所示:rootlocalhost#cd/tmp=切换工作目录到/tmprootlocalhost tmp#mkdir testing=建立新目录rootlocalhost tmp#chmod 744 testing=变更权限rootlocalhost tmp#touch testing/testing=建立空的文件rootlocalhost tmp#chmod 600 testing/testing=变更权限rootlocalhost tmp#ls-lad testing testing/testingdrwxr-r-2 root root 4096 Feb 11 16:01 testing-rw-1 root root 0 Feb 11 16:01 testing/testing#仔细看一下,目录的权限是 744,且所属群组与使用者均是 root,#那么在这样的情况底下,一般身份用户对这个目录/文件的权限为何?,用 户与 用户组管理,在上面的例子中,虽然目录是744的权限设定,一般用户应该能有 r 的权限,但这样的权限使用者能做啥事呢?假设系统中含有一个账号名为 xiaoming 的,我们可以通过 su-xiaoming 这个命令来切换身份,看看底下的操作先!rootlocalhost$cd/tmp=看一下,身份变了,提示字符也变成$了rootlocalhost tmp$ls-l testing/?-?testing#因为具有 r 的权限可以查询文件名。不过权限不足(没有x),所以会有一堆问号。rootlocalhost tmp$cd testing/-bash:cd:testing/:Permission denied#因为不具有 x,所以当然没有进入的权限了。通过上面这个简单的步骤,你就可以清楚的知道,x 在目录当中是与能否进入该目录有关,至于那个 w 则具有相当重要的权限,因为他可以让使用者删除、更新、新建文件或目录,是个很重要的参数!,用 户与 用户组管理,groups username:显示用户所属用户组newgrp:用户转换用户的当前组到指定的附属组,用户必须属于该组id:查看显示目前登陆账户的uid和gid及所属分组及用户名 参数:-g或group显示用户所属群组的ID。-G或groups显示用户所属附加群组的ID。-u或user显示用户ID。usermod G groupname username#给username添加支持groupname组gpasswd d username groupname#从组中移除用户useradd g groupname username#创建一个用户并同时加入用户组 组名 用户名usermod g groupname username#修改username的组为groupnamenewgrpgroupname#切换当前用户到指定的附属组groupname,用 户与 用户组管理,特殊权限位三个特殊权限位是可执行程序运行时影响操作权限的。他们分别是SUID位,SGID位和sticky-bit位。SUID 当一个设置了SUID位的可时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都执行文件被执行有文件所有者的特权。任意存取该文件所有者能使用的全部系统资源。如果所有者是root的话,那么执行人就有超级用户的特权了。SGID 当一个设置了SGID位的可执行文件运行时,该文件将具有所属组的特权,任意存取整个组所能使用的资源;若一个目录设置了SGID,则所有被复制到这个目录下的文件,其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p(保留文件属性)的参数,才能保留原来所属的群组设置。sticky-bit 对一个文件设置了sticky-bit之后,尽管其他用户有写权限,也必须由属主执行删除、移动等操作;对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许属主执行删除、移动等操作。,用 户与 用户组管理,由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞、甚至摧毁系统。一个设置了SUID的典型例子是passwd程序,它允许普通用户改变自己的口令,这是通过改变/etc/shadow文件的口令字段实现的。然而系统管理员决不允许普通用户拥有直接改变/etc/shadow文件的权利。解决方法就是将passwd程序设置SUID,当passwd程序被执行的时候将拥有超级用户的权限,而passwd程序运行结束又回到普通用户的权限。ll/usr/bin/passwd-rwsr-xr-x 1 root root 23420 Aug 11 2010/usr/bin/passwd一个设置了sticky-bit的典型例子是系统临时文件目录/tmp,这避免了不守法的用户存心捣乱,随便删其他用户放置的文件。ll-d/tmpdrwxrwxrwt 5 root root 4096 Jun 12 09:56/tmp从例子显示可以看出:SUID是占用属主的x位置来显示;SGID是占用组的x位置来显示;sticky-bit是占用其他人的x位置来显示的。,用 户与 用户组管理,chmod-R ugoa=-+rwxst file|dirchmod-R ugoa=-+ugo file|dirr表示可读w表示可写x表示可执行s表示设置SUID或SGIDt表示设置sticky-bit格式一的用法是对文件或目录设置rwxst等权限格式二的用法是参考当前ugo的权限设置其它用户类的权限SUIDs:4SGIDs:2sticky-bitt:1,用 户与 用户组管理,chattr+-=Aai 文件或目录名选项与参数+:增加某一个特殊参数,其他原本存在的参数则不动。-:移除某一个特殊参数,其他原本存在参数则不动。=:设定,且仅有后面接的参数A:当设定了A这个属性时,若你有存取此文件(或目录)时,他的访问时间atime将不会被修改,可避免I/O较慢的机器过度的存取磁盘a:当设定a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设定这个属性i:这个i可以让一个文件“不能被删除、改名、设定链接,也无法写入或新增资料”,只有root才能设定#touch attrtest 建立一个空文件#chattr+i attrtest 给予i的属性#rm attrtest 尝试删除看看=取消i属性#chattr i attrtest,用 户与 用户组管理,lsattr adR 文件或目录选项与参数:-a:将隐藏文件的属性也显示出来-d:如要接的是目录,仅列出目录本身的属性而非目录内的文件名-R:连同子目录的数据也一并列出来#chattr+ai attrtest#lsattr attrtest,

    注意事项

    本文(Linux-用户与用户组(第4章).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开