•权限是操作系统用来限制用户、组、进程对操作系统资源(文件、设备等)的访问的机制。
•权限分为:读、写、执行,Linux中表示为 r、w、x。
•Linux中每个文件和目录都拥有一个所属用户和所属组,并且设置对应的权限。
•每个进程在运行的时候均以一个用户的身份运行,同时继承该用户的权限。
•Linux使用UGO模型来进行权限管理
•U代表用户、G代表组、O代表其他用户和组
•每个文件用9个权限来表示,3个一组,分别代表UGO的读、写、执行权限。
•如:rwxrw-rw-
•通过ls -l命令可以查看文件的相关权限
•ls -l命令用于查看文件的权限
•第一个属性代表这个文件的类型
•[ d ]代表目录
•[ - ]则是文件
•[ l ]则表示为链接文件(link file)
•[ b ]则表示为设备文件中可供储存的接口设备
•[ c ]则表示为设备文件中的串行端口设备,例如键盘、鼠标
•改变权限命令:chmod
rwx可以分别用数字表示
r --> 4
w --> 2
x --> 1
rwx的组合可以用这些数字的和表示(按位或)
rwx = 4+2+1 = 7
r-x = 4+0+1 = 5
--- = 0+0+0 = 0
rwxr-x---就可以用750来表示。
语法:
chmod [-R] xyz 文件
其中xyz分别为三组rwx属性数值的和
•默认权限
•新建的文件和目录都拥有一个默认权限,由当前终端的umask属性指定,默认权限=总权限值-umask值。
•root用户的umask值一般为022,普通用户一般为002
•如针对普通用户:
•文件默认权限值=666-002=664
•目录默认权限值=777-002=775
•使用命令umask可以设置和查看umask值。
•除普通权限外,Linux还提供三种特殊权限
•suid:对文件而言,是指以文件的所属用户身份去执行,而不是当前操作用户;对目录无影响。
•sgid:对文件而言,是指以文件所属组身份去执行;对目录则是指,在该目录中创建的任意新文件的所属组和目录所属组一致。
•sticky:对目录而言,是指对目录拥有写入权限的用户只能删除其自身拥有的文件,不能删除其他用户的文件。