




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容介绍,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:root bin:root,bin,daemon 组名:组口令:组的管理员帐号:组成员,用 户与 用户组管理,帐号管理: 新增与删除用户: useradd, passwd, userdel 要如何在 Linux 的系统新增一个用户呢?我们登陆系统时会输入 (1)账号与 (2)口令, 所以创建一个可用的账号同样的也需要这两个数据。那账号可以使用 useradd 来新建用户,口令的给予则使用 passwd 这个命令!这两个命令下达方法如下: useradd UserName 例:useradd Tom 添加用户Tom passwd UserName 修改密码 例:passwd Tom 修改Tom的密码 userdel Tom 删除用户Tom userdel r Tom 删除用户Tom及其主目录,用 户与 用户组管理,新增、修改、删除用户组groupadd/groupmod/groupdel: groupadd Tester groupmod n Developer Tester groupdel 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 -la total 156 drwxr-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 =范例说明处 -rw-r-r- 1 root root 5661 Sep 4 18:25 install.log.syslog 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 = 7 group = rwx = 4+2+1 = 7 others= - = 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 file chmod g=u file chmod -R g+u dir chmod -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 =切换工作目录到/tmp rootlocalhost 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/testing drwxr-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的组为groupname newgrp groupname #切换当前用户到指定的附属组groupname,用 户与 用户组管理,特殊权限位 三个特殊权限位是可执行程序运行时影响操作权限的。他们分别是SUID位,SGID位和sticky-bit位。 SUID 当一个设置了SUID位的可时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都执行文件被执行有文件所有者的特权。任意存取该文件所有者能使用的全部系统资源。如果所有者是root的话,那么执行人就有超级用户的特权了。 SGID 当一个设置了SGID位的可执行文件运行时,该文件将具有所属组的特权,任意存取整个组所能使用的资源;若一个目录设置了SGID,则所有被复制到这个目录下的文件,其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p(保留文件属性)的参数,才能保留原来所属的群组设置。 sticky-bit 对一个文件设置了sticky-bit之后,尽管其他用户有写权限,也必须由属主执行删除、移动等操作;对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许属主执行删除、移动等操作。,用 户与 用户组管理,由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞、甚至摧毁系统。 一个设置了SUID的典型例子是passwd程序,它允许普通用户改变自己的口令,这是通过改变/etc/shadow文件的口令字段实现的。然而系统管理员决不允许普通用户拥有直接改变/etc/shadow文件的权利。解决方法就是将p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气管插管的护理及其注意事项
- 《诗经》中的《氓》课件
- 网上书城系统的设计与实现需求分析
- 亲子互动安全培训课件
- 骨折合并DVT患者的护理
- 景区管理情况汇报
- 公司级安全培训感悟课件
- 事故事件安全培训课件
- 事务所函证培训课件
- 青年突击队特色活动汇报
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- 酒店住宿抵款协议书
- 【基于WBS分解图的工程项目施工进度管理与优化案例探析22000字(论文)】
- 配电箱安全专项教育培训课件
- 智慧医保监管一体化平台建设方案
- 脓毒症护理课件
- 小学科学教学仪器配备标准
- YB-4001.1-2007钢格栅板及配套件-第1部分:钢格栅板(中文版)
- 内、外后视镜视野校核方法
- 员工工资明细表Excel模板
- 生活质量综合评定问卷-74(题目)
评论
0/150
提交评论