2.文件和目录的属性--<跟我学shell>
时间:2006-05-10 来源:wumu888
shell之二.文件与目录的权限
哈.编了上次一个脚本怎么样.肯定还要再来点更复杂的吧..在妹妹面前也有@_@.好.我们开始.Let'go.
1.查看文件的详细信息:
1.1.第一域有十位组成.可以看到第一行第一个字母表示文件类型:-为普通文件.d为目录.p为管道文件.b为块文件.l为链接文件<类似于ms的快捷方式>.c为字符文件.后九位是表示权限.前三位是文件属主的权限.中间三位是文件所属组的权限.后三位是系统其它用户的权限.
1.2.第二域<即上式文件redhat中的1和目录bashshell中的2>表示文件硬链接的数目.
1.3.第三域表示文件所属主;
1.4.第四域表示文件所属组;
1.5.第五域表示文件大小<KB>;
1.6.第六至第八域表示文件最后修改时间;
1.7.第九域表示文件名.
2.下面我们开始讲文件权限.
2.1.文件redhat的权限:从上面我们可以看到文件redhat的属主权限是<??>->rw-应该怎么读呢?在这里我们这样理解.r就是read.w就是write.x就是执行的意思<-_-!不知道执行的英语怎么拼.>.ok那么"-"表示什么意思呢?聪明的你应该想到"-"就是霸占了位置的家伙.就代表它在谁的位置上.谁就没有权限喽.看属主的x被"-"占了.所以说属主的权限是.读和写.那属组的权限应该是只读权限喽.系统其它用户和属组一样.-_-!只读!
2.2.目录bashshell的权限:这应该不用我说了吧@_@..
3.如何用chmod赋予文件/目录权限:有二种模式<数字表示法/文字表示法>
3.1.文字表示法:u表示属主即<owner>;g表示组<group>;o表示系统其它用户<other>;a代表全部<all,蛮有用的一个参数.对给属主,组,其它用户加执行权限不必用
可直接写成[redhat@server redhat]$chmod a+x redhat>.给文件加权限就 是"+";收回权限用"-";设定权限用"=".下面修改文件redhat的属主用户有读和 执行,属组有写,其它用户有读和写权限<当然,这只是例子.>
[redhat@server redhat]$chmod u-w,u+x,g-r,g+w,o+w redhat
[redhat@server redhat]$ls -l redhat 查看一下是不是成功.
接下来我们设定目录bashshell的权限.属主有读写,属组有读执行,其它用户读权限:[redhat@server redhat]$chmod u=rw,g=rwx,o=r bashshell.相信你看到现在是似懂非懂的样子吧..多多练习.
3.2.数字表示:4代表读.2代表写.1代表执行.上面二个例子可简化成:
[redhat@server redhat]$chmod 526 redhat
[redhat@server redhat]$chmod 674 bashshell
4.umask
当最初登录系统中.umask确定了你创建文件的缺省权限.你可以用root用户合理的创建一个umask值,默认值为002,修改一下为022.
4.1.计算文件umask值:缺省情况下创建文件的权限值是666,那么用666减去022得到的是644,644代表<属主读和写,属组和other只读>;
4.2计算目录umask值:缺省情况下创建目录的权限值是777<那rwxrwxrwx>;那么用777减去022得到什么呢?777-022=755<即:rwxr-xr-x>
5.t位和s位;可查看 s位和t位讲解.
[redhat@server redhat]$ls -l -rw-r--r-- 1 redhat redhat 2048 Nov 9 2006 redhat drwxr-xr-x 2 redhat redhat 158954 Nov 9 2006 bashshell |
[redhat@server redhat]$ chmod u+x,g+x,o+x redhat |
相关阅读 更多 +
排行榜 更多 +