1. 权限管理级别
linux的权限分为三个级别,用户,用户组,其他人。可以分别对文件和文件夹定义所属的用户和用户组。也可以针对这三个级别定义所具有的权限。
假设有两个用户组GA
和GB
,每个组里面分别有2个人, GA
有Bob
和Alex
,GB
有Tom
和Harry
。则:
- 用户:文件或者文件夹可以属于某一个用户,如文件属于
Bob
- 用户组:文件或者文件夹可以属于某一个用户组,如文件属于
GA
- 其他人:当定义一个文件属于用户
Bob
,属于用户组GA
时,Tom
和Harry
对于这个文件就是其他人。
2. 文件和文件夹的权限
当我们查看一个文件夹下的文件的时候:
[work@linux888 bin]$ ls -al
总用量 2460
-rw-rw-r-- 1 work work 22709 4月 29 2013 bootstrap.jar
-rw-rw-r-- 1 work work 11830 4月 29 2013 catalina.bat
-rwxrwxr-x 1 work work 17777 4月 29 2013 catalina.sh
-rw-rw-r-- 1 work work 2374 4月 29 2013 catalina-tasks.xml
-rw-rw-r-- 1 work work 24283 4月 29 2013 commons-daemon.jar
-rw-rw-r-- 1 work work 204944 4月 29 2013 commons-daemon-native.tar.gz
-rw-rw-r-- 1 work work 1342 4月 29 2013 cpappend.bat
-rwxrwxr-x 1 work work 7513 4月 29 2013 daemon.sh
-rw-rw-r-- 1 work work 2108 4月 29 2013 digest.bat
-rwxrwxr-x 1 work work 1689 4月 29 2013 digest.sh
-rw-rw-r-- 1 work work 10 4月 4 20:37 jcb.log
drwxrwxr-x 2 work work 4096 5月 5 2014 log
drwxrwxr-x 3 work work 4096 1月 12 16:00 logs
-rw-rw-r-- 1 work work 96 5月 25 16:04 run.log
可以看到一行的信息包括下面几个重要的信息:
权限 | 用户 | 用户组 | 文件名 |
---|---|---|---|
-rw-rw-r– | work | work | run.log |
2.1. 这个权限的信息如何解读呢:
d rwx rwx r-x
d 第一位 rwx 三个位 rwx 三个位 r-x 最后三个位 文件类型 所属用户所具有的权限 所属用户组所具有的权限 其他人的权限
其中rwx三个位置的顺序不能变更,如果没有相应权限则相应位置要用-
代替
- r可读
- w可写
- x可执行
- -没有权限
第一位会有如下几种可能:
- d目录
- -文件
- s针对于文件,该文件无论由什么用户启动,最众都会被超级用户去执行
- l链接文件
- b可供存储的接口设备
- c串行端口设备,如圆形插头的鼠标和键盘等等
2.2. 针对文件的rwx权限
- r 该文件内容可以被读取
- w 该文件内容可以被改写
- x 如果是可执行文件,该文件可以被运行
文件的权限不包括删除文件
2.3. 针对文件夹的rwx权限
- r 可以用ls命令访问该文件夹
- w 新建删除文件及文件夹,mv,重命名等等
- x 可以cd到该目录下进行操作
3. 用户信息和用户组会记录在哪里?
分别记录在三个文件当中
/etc/passwd
/etc/group
/etc/shadow
请感兴趣的同学自行查阅。
在本文中所操作的用户和用户组,都必须事先在系统中定义好。能在这三个文件中查询到。
4. 如何改变文件所属及权限
有三个命令可以使用:
4.1. chgrp 改变文件或文件夹所属的用户组
chgrp [-R] 文件夹或文件名
chgrp 用户组名称 文件夹或文件名
4.2. chown 改变文件所有者
chown [-R] 账户名称 文件或文件夹
chown [-R] 账户名称:组名 文件或文件夹
4.3. chmod 改变文件权限
chmod可以分别使用数字和符号来改变权限
chmod [-R] 权限数值 文件或文件夹
chmod [-R] 权限操作 文件或文件夹
1. 权限数值
权限数字如何计算,我们又要继续来说明上一个小节的例子"drwxrwxr-x"
每三位代表一级权限,由一个数字表示可以把三个位置理解为二进制,-
为0其他为1。
rwx –> 111 = 7
r-x –> 101 = 5
rw- –> 110 = 6
还有更简单的 直接计算方式
r=4
w=2
x=1
rwx –> 4+2+1 = 7
r-x –> 4+1 = 5
rw- –> 4+2 = 6
chmod [-R] 777 文件或文件夹
#为用户,用户组和其他用户全都分配了rwx的权限。
2. 权限符号
chmod | u(user) g(group) o(own) a(all) | +(增加) -(除去) =(设置) | r w x | 文件或目录 |
---|
实际设置时如下:
chmod u=rwx,go=rx 文件
chmod a+w 文件