您的位置:首页 > 其它

RH033 Unit 5 Users,Groups and Permissions

2009-10-23 16:40 309 查看
所有用户信息存储在/etc/passwd文件中

每个用户占用一行,每行7个字段,由“:”隔开,代表不同的含义,以上面的root用户为例
rootx00root/root/bin/bash
用户名有密码(去掉则密码为空)uidgid(初始组or私有组)用户描述主目录可用shell
特殊shell: 通常用户需要与操作系统进行交互沟通,需要通过shell,默认分配/bin/bash,而上图看到的/sbin/nologin则是一种特殊shell,这个shell并不会让用户和操作系统之间有交互,而代表不允许此用户登陆系统 所有用户密码存储在/etc/shadow文件中

格式基本与/etc/passwd一致,每用户一行,但这里有9个字段,还是以root为例
root$1$xk…145150999997
用户名md5加密后的密码从1970.1.1算起,密码已创建的时间(天)最短更改期限(天)最长更改期限(天)警告天数过期多少天后禁用此用户失效时间(天)保留
密码字段的不同: 有时我们会在密码字段看到非md5加密密码,而是其他符号,比如“*”“!!”等,这些符号在linux中代表锁定,也就是说,如果某个用户的密码字段是一个“*”或者是“!!”,即代表此用户被锁定,无法登陆系统 比如我将user1的密码字段改为“*”,那么在user1登录系统时就会出现下面这种情况



注:若/etc/shadow文件损坏或丢失,则已有用户无法登陆系统(因为设置了密码,但找不到密码),新建用户密码会保存在/etc/passwd第二字段(非明文),如果知道某用户密码的话,可以用grub-md5-crypt命令来生成md5密码并填入/etc/passwd中该用户行的第二字段,以恢复此用户登陆功能

所有组存在/etc/group文件中,格式和/etc/passwd基本相同

rootx0root
组名有密码(去掉则密码为空)gid组成员,若多个成员用逗号隔开
Linux文件安全 Linux文件权限控制分三部分,user,group,other

从上面的图可以看出来,每个文件或目录名前面都有一大串字母或短杠以及其他信息,拿Desktop目录那行信息来举例说明
drwxr-xr-x2rootroot4096Feb 14 2015Desktop
权限内容数属主属组大小(Byte)修改日期目录名
1、权限 权限字段实际上细分为10位,短杠“-”代表无,d表示目录,r表示read读,w表示write写,x表示execute可执行(windows用后缀名来区分,如.exe/bat等),把这10位分段,分为4部分 第一部分1位,表示文件类型,比如该文件属于普通文件、目录、块设备还是链接,都有不同的一个字符表示,
剩下的9位每3位为一组,从左至右分别代表user、group、other的权限,而其中的user、group就是对应后面跟的属主和属组
2、内容数 这个字段值需要分两部分看,对于目录来说就是指该目录所含的子目录数,对于文件来说则代表该文件的硬链接数 3、属主 表示此文件的拥有者 4、属组 表示此文件的共享组 5、大小 同样也需要分两部分看,对于目录是指目录大小,默认最小都是4096Byte(4K),若目录大小超过4K,则会以4K为一个单位向上累加显示,比如8192Byte,个人理解比较类似磁盘簇的概念;对于文件来说就指文件大小,这时就没有4096Byte这个默认值了,最小是0,也就是空文件 6、修改日期 代表该文件的创建或最近一次修改时间 7、目录名 显示目录名或文件名 那么现在来解释一下这一行的具体含义: 该文件类型为目录,目录名是Desktop,创建于2015年2月14日,目录大小为4096字节,子目录数为2,拥有者为root,共享用户组为root组,拥有者对此目录具有读写执行权限即完全控制,共享组内用户具有读执行权限即只读,其他任意用户同样只读 通常我们用一种更简单的方法来表示rwx这3种权限,r对应数字4,w对应数字2,x对应数字1,这样的话每3位的和就为4+2+1=7 假设某文件所有用户都对其完全控制,则该文件权限位可写为-rwxrwxrwx,也可以表示为777 以Desktop目录为例,则此目录具有755的权限 用ll /home查看,可以看出/home下每个用户的主目录权限为属主完全控制(700),其他人一律不得访问,当然除root以外



看到那三个点了吗,这里需要特别说明一下,在Linux中,每个目录最少都含有2个子目录,一个是“.”当前目录,另一个是“..”上级目录,比如输入“cd ..”命令就代表进入上一层目录,这一点和windows下面的命令行操作是一样的
另外,权限上还有个问题,刚提到拥有者和共享组的用户都可以对Desktop目录有执行权限,一个目录怎么被执行呢?其实对于目录来说,这个x权限就不是执行的意思了,而代表允许进入目录,比如想设置一个只读的共享目录给某些用户,就不能有w写权限,但x权限是必须的,否则用户连x进入都执行不了,还怎么去做r只读的操作
改变文件的所有权 1、只有root可以操作文件的属主 2、只有root或创建者可以更改属组 chown [-R] username file/dir 用来更改一个文件或目录的属主,-R选项为递归的意思 比如我需要将/root下的Desktop目录属主由root改为user1,就可以这样操作

这时Desktop目录便可以由user1完全控制了,因为属主的权限为rwx,但实际上user1是无法操作/root/Desktop目录的,因为Desktop目录的父目录/root为750权限,并未允许other用户进入,所以刚才的操作也只是演示命令效果而已,实际中还需要其他操作才能实现

chgrp [-R] groupname file/dir 用来更改一个文件或目录的属组 也可以用chown同时更改属主和属组

改变文件权限 chmod perm file/dir 用来更改 1、字符方式 刚说了文件的权限分3部分,属主(u)、属组(g)、其他(o),每部分均有rwx权限,用“+/-”表示赋予或取消 建立/test目录,默认权限是755,属主属组为root,现需要让user1可以在目录内建立文件,则要给other加上write权限

使文件可以让所有用户都能修改

使属主和属组的用户可以执行user1file,其他用户不可执行

2、数字方式 现在user1file的权限为664,属主属组为user1,需要使user2可以更改文件内容,则需要将664改成666 user2使用vi /test/user1file后,vi编辑器会警告,正在编辑只读文件,也就是user2对此文件不具有修改权限





本文出自 “Dy!ng_Sou|@51cto” 博客,请务必保留此出处http://wangwenbo.blog.51cto.com/185762/215653
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: