Linux命令-权限设置
2015-12-06 13:41
543 查看
在Linux中,一个用户对一个文件(目录)是否有权利去使用,是根据此文件(目录)设置的权限决定的。每个用户都至少属于一个组。Linux中的一个文件在正常情况下是属于一个用户所有,将此用户称为文件所有者(也可以称为属主),而将一些用户统一分在一个组里,设定此组对文件操作的权限。对于超级用户来说,它拥有所有权限。
图片中每一列含义(从左到右):
第一列:文件类型和权限
drwxrwxr-x ,可以看到这一串共十个,最前面那个d就是表示是目录,具体文件类型有哪些请看下表。
Linux文件类型
后面九个,rwxrwxr-x,从左到右每三个一组,分别是属主的权限,属组的权限,其他人的权限,而每一组三个权限分别是可读权限,可写权限,可执行权限。比如,如果属主对文件又有可读权限,相应位置就是r,没有权限就是"-"。本例子中,drwxrwxr-x,就是说,属主对于这个目录有读写与执行权限,属组对于这个目录有读写执行权限,其他人对这个目录有读和执行权限。
4(r)+2(w)+1(x)=7
依次类推,得到属组和其他人的权限:
属组的权限: 4(r)+2(w)+1(x)=7
其他人的权限: 4(r)+0(w)+1(x)=5
即775为此目录的权限,其中第一个数组代表属主权限,第二个数字代表属组权限,第三个代表其他人权限。如果你想改变权限就计算出对应权限相应的数字,然后按照上述chmod命令格式,更改权限。
字符方式设定权限
chown [选项] 属主[.属组] 文件名
使用chown 命令,能够将一个文件的属主和属组进行或者同事进行改变。同事改变时,属主和属组之间使用“."隔,还可以使用-R选项同时将目录下得所有文件和目录的属主和属组进行改变。
令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc /profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。
umask命令允许你设定文件创建时的默认模式,对应每一类用户(属主、属组、其他人)存在相应的umask值中的数字。对于文件来说,这一数字的最大值为6,不能一开始就赋予执行权限。目录则允许设子执行权限,这样对于目录来说,umask各个数字最大可以到7.
如果你想知道当前umask值,可以使用umask命令: umask注意得到的是一个掩码值,要用777减去它才是真正的权限值。
要改变umask值,例如要将文件默认权限设置为643(rw-r---wx)只要使用umask命令设置一个新值即可:
umask 023
1、查看权限属性(ls -l)
用法:LS -L [文件或者目录名]图片中每一列含义(从左到右):
第一列:文件类型和权限
drwxrwxr-x ,可以看到这一串共十个,最前面那个d就是表示是目录,具体文件类型有哪些请看下表。
文件类型符号 | 具体含义 |
- | 表示是普通文件 |
d | 表示是目录 |
l | 表示是链接文件 |
b | 表示是块设备文件,如存储设备 |
c | 表示是字符设备,如键盘等 |
s | 表示是套接字文件,跟网络有关 |
p | 表示是管道文件 |
2、设定权限命令(chmod)
2.1、对于文件来说
可读是指可以查看文件内容,例如,使用cat或者more命令能够查看文件内容;可写是指可以修改文件内容并且保持修改后的内容,如使用vi命令能够修改文件内容后保存;可执行是指的是能够运行此文件,在Linux中,一个是否能够执行不决定于其扩展名,而是看其是否设定了可执行权限,当然前提是文件本身是一个二进制文件或者i脚本文件。例如,普通文佳设置了可执行权限也无法执行。2.2、对于目录来说
可读是指的是能够使用ls命令显示目录下得内容;可写指的是能够在目录下建立和删除文件。在Linux下,一个文件是否能够被删除,是决定于所在目录是否对命令执行者设定了可写权限,而与文件本身权限无关,文件本身权限只是对文件本身内容或者是否能执行进行限制;可执行是指的是能够在目录下运行命令,所以如果想让一个用户能够进入此目录,必须对此目录在相应的权限位设定可执行权限。2.3、chmod命令格式
chmod [选项] 权限 文件名(目录名)2.3.1、数字方式设定权限
文件权限共分三种:可读(r)、可写(w)、可执行(x),使用4代表读权限,2代表写权限,1代表可执行权限,0代表没有权限,所以如果用户拥有哪种权限就将其代表的数字相加,最后相加的和即为用户的权限。以上面例子为例,属主用户对文件拥有的权限是rwx,所以使用数字代表即为:4(r)+2(w)+1(x)=7
依次类推,得到属组和其他人的权限:
属组的权限: 4(r)+2(w)+1(x)=7
其他人的权限: 4(r)+0(w)+1(x)=5
即775为此目录的权限,其中第一个数组代表属主权限,第二个数字代表属组权限,第三个代表其他人权限。如果你想改变权限就计算出对应权限相应的数字,然后按照上述chmod命令格式,更改权限。
2.3.2、字符方式设置
设定权限的对象 | 对对象的操作 | 权限 |
u(属主) | + (原权限上增加) | r (可读) |
g(属组) | - (原权限上减少) | w 可写) |
o(其他人) | = (无论以前什么,以现在设定的为准) | x (可执行) |
a(代表以上全部,u,g,o) |
3、更改属主(属组)命令(chown)
chown命令可以更改一个文件(目录)的属主或者属组。chown [选项] 属主[.属组] 文件名
使用chown 命令,能够将一个文件的属主和属组进行或者同事进行改变。同事改变时,属主和属组之间使用“."隔,还可以使用-R选项同时将目录下得所有文件和目录的属主和属组进行改变。
4、定义默认权限命令(umask)
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。你的系统管理员必须要为你设置一个合理的 umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc /profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。
umask命令允许你设定文件创建时的默认模式,对应每一类用户(属主、属组、其他人)存在相应的umask值中的数字。对于文件来说,这一数字的最大值为6,不能一开始就赋予执行权限。目录则允许设子执行权限,这样对于目录来说,umask各个数字最大可以到7.
如果你想知道当前umask值,可以使用umask命令: umask注意得到的是一个掩码值,要用777减去它才是真正的权限值。
要改变umask值,例如要将文件默认权限设置为643(rw-r---wx)只要使用umask命令设置一个新值即可:
umask 023
相关文章推荐
- 从linux和ucos的比较中来看进程这个概念
- linux ip 命令
- linux文件系统初学
- linux内存管理初学
- linux初学习之正则表达式和通配符
- 【Unix/Linux编程实践】从零做起:编写who命令
- Linux-4.3在mini6410上的移植
- linux下elf重定位理解
- Linux下C语言编程
- centos7没有安装ifconfig命令的解决方法
- 基于mini2440的裸机led程序及其链接脚本分析
- centos安装caffe python接口时候可能出现错误
- Linux常用终端快捷键
- 【Unix/Linux编程实践】 动手实现简单的more
- 用Qemu模拟vexpress-a9 (一) --- 搭建Linux kernel调试环境
- 【linux】BootLoader简介(c语言编程)
- 在Linux上使用Wine安装轻聊版的QQ的步骤讲解
- centos下安装webbench最新版本-实现并发测试
- 《鸟哥的Linux私房菜基础篇》阅读笔记——第3章、第8章
- Linux任务计划及sudo详解