权限
权限是操做系统用来限制对资源访问的机制。权限通常分为读、写、执行。每一个用户都有特定的权限、所属用户、所属组,经过这样的机制来限制哪些用户、哪些组能够对待特定的文件进行怎么样的操做。
每一个进程都是以某个用户的身份运行,因此进程的权限与该用户的权限同样,用户的权限大,该进程的权限就大。
linux中,每一个文件具备如下三种权限:
权限 对文件的影响 对文件夹的影响
r(读取) 可读取文件的内容 可列出目录的内容
w(写入) 可向文件写入数据 可在目录下建立或删除文件
x(执行) 可做为命令来执行 可访问目录中的内容
对于目录必须具备x权限(也称为浏览权限),只具备r权限无心义,不然没法查看其内容。
UGO
linux权限基于UGO模型进行控制的。
U表明user,G表明group,o表明other
每个文件的权限是基于UGO模式进行设置的
权限三个一组(rwx),对应UGO分别设置
每个文件拥有一个所属用户和组,分别对应着U、G,对于既不属于该文件所属用户也不属于该用户组的用户的权限对应O权限
ls -l file.c 查看file.c 文件的详细权限
结果为:
d rwxr-xr-- 2 username groupname 208 xxxxxxxxxxx filename
文件类型 UGO 文件的链接数 用户名 所属用户组 文件的大小 建立时间 文件名
chown username filename 将文件的所属改成指定的用户
chown -R username directory 将目录下的全部文件的所属用户改成指定的用户
chgrp groupname filename 将文件的所属组修改成指定的用户组
chgrp -R groupname directory 将目录下的全部文件的所属用户组改成指定的用户组
chmod u/g/o +rw filename/derictoryname 为文件或者目录所属用户/所属组/其余用户添加读写权限
chmod u/g/o -rw filename/derictoryname 为文件或者目录所属用户/所属组/其余用户去除掉写权限
chmod u/g/o -R -rw filename/derictoryname 将目录下全部文件的所属用户/所属组/其余用户去除掉写权限
chmod g+s directname 文件夹下全部文件将继承该文件夹的所属组
linux默认权限
每个终端都有一个umask权限,来肯定新建的文件和目录的默认权限
umask用数字的形式来表示默认权限,如:022 分别对应UGO权限
目录的默认权限:777 - umask
文件的默认权限: 666 - umask
普通用户的umask通常为:002
root用户的umask通常为:022
使用单独一个umask能够查看umask的属性值
umask num 将umask修改成num
linux