分类: LINUX
2011-01-24 19:52:16
关于在linux下面关于用户,组,权限的介绍,
用户的介绍
在linux系统中每个用户都被分配一个独特的用户UID号码,用户名是给人来识别的,而UID号码是给计算机来识别的。用户名和UID都被保存在/etc/passwd这个文件当中。默认情况下面,前500个UID被系统占有,root的UID为0,1-499为系统用户。也就是说系统中第一个普通用户的UID应该为500。
可以使用id命令来查看用户的信息
#id root (用户名)
[root@localhost ~]#
[root@localhost ~]# id root
Uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@localhost ~]#
组的介绍
在创建每个用户的时候,系统会自动的创建与之同名的组,每个组都被分配一个独特的组ID号码(gid)。组和gid都被保存在/etc/group这个文件当中。每个用户都有它们自己的私有组。组中的所有用户可以共享属于组群的文件。
同样通过id命令来查询组。
权限的介绍
每个文件都属于一个UID和一个GID
在linux下面我们将访问文件的用户分为三类
1. 文件拥有人 (user)
2. 文件拥有组 (group)
3. 其他人 (other)
关于权限的优先顺序
如果UID匹配,就应用用户(user)权限。
否则。如果GID匹配,就应用组群(group)权限。
如果都不匹配,就应用(other)权限。
User----group----other
关于权限的类型
r: 读
w: 写
x: 执行
-: 无权限
关于权限类型对文件和目录的意义
r 文件 读
目录 列举,不可以进入
w 文件 写
目录 创建,删除
x 文件 执行程序
目录 可以进入,不可以列举
- 文件 无权限
目录 无权限
如何查看文件的权限呢?
#ls -l file
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r--r-- 1 root root 0 Feb 28 12:26 file
[root@localhost ~]#
这个文件的权限位上面有十个栏位。
第一个- 代表这是一个文件,如果是d,代表是一个目录。
后面的九位,每隔三位为一段。
rw- 可读可写
r- - 只读
r- - 只读
第一个root代表文件的拥有人是root
第二个root代表文件的拥有组是root
在权限位上面的前三位代表的是user的权限,中间三位代表的是group的权限,后面三位代表的是other的权限。(第一位除外)
在这里例子中就是用户root对这个文件是可读可写的,root组里面的成员对这个文件是只读的,除了用户root和root组里面的成员的其他用户对这个文件的权限也是只读的。
改变文件所有者
改变文件的所属用户
#chown user1(用户名) file(文件或者是目录)
Chown = change owner
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r--r-- 1 root root 0 Feb 28 12:26 file
[root@localhost ~]#
[root@localhost ~]# chown user1 file
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r--r-- 1 user1 root 0 Feb 28 12:26 file
[root@localhost ~]#
可以看到,原来file这个文件的所有者是root,现在就变成了user1。
改变文件的所属组群
# Chgrp user1(组名) file(文件或者是目录)
Chgrp = change group
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r--r-- 1 user1 root 0 Feb 28 12:26 file
[root@localhost ~]#
[root@localhost ~]# chgrp user1 file
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r--r-- 1 user1 user1 0 Feb 28 12:26 file
[root@localhost ~]#
可以看到,文件的所属组也变成了user1.
只有root用户才能够改变文件的所有者
只有root用户和文件的所有者才能改变文件的组群。
我们可以在改变的时候加上- R的参数,表示递归。这个也只读目录生效。
改变文件的权限
符号式方法
# chmod u-x,g+x,o=rwx file (文件名)
+ 添加某个权限
- 删除每个权限
= 分配权限
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rwxr--r-- 1 user1 user1 0 Feb 28 12:26 file
[root@localhost ~]#
[root@localhost ~]# chmod u-x,g+x,o=rwx file
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r-xrwx 1 user1 user1 0 Feb 28 12:26 file
[root@localhost ~]#
[root@localhost ~]#
可以看到,我们文件的权限就被改正过来了。这个非常灵活。多试试。
数字式方法
#chmod 755 file(文件名)
使用三个数字来代表权限
第一个数字代表所属用户的权限
第二个数字代表所属组的权限
第三个数字代表其他用户的权限
通常吧以下的数值加起来来代表权限
4 代表读取
2 代表写入
1 代表执行
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rw-r-xrwx 1 user1 user1 0 Feb 28 12:26 file
[root@localhost ~]#
[root@localhost ~]# chmod 755 file
[root@localhost ~]#
[root@localhost ~]# ls -l file
-rwxr-xr-x 1 user1 user1 0 Feb 28 12:26 file
[root@localhost ~]#
我们这个文件的权限就变成了755。
同样我们可以在改变的时候加上- R的参数,表示递归。这个也只读目录生效。
linux下面用户,组,权限的基本讨论就到这里了。