Shell--文件与权限

来源:互联网 发布:北风网大数据视频 编辑:程序博客网 时间:2024/05/18 00:13

参考<<linux与unix shell编程指南>>

文件类型

d  目录

l  链接符号

s  套接字文件

b  块设备文件

c  字符设备文件

p  命名管道文件

-  普通文件


权限

对于文件来说

r 可以显示该文件内容

w 可以编辑或者删除它

x 可以执行该文件,如它是一个脚本或者程序.

对于目录来说

r 可以显示该文件夹下的所有目录

w 可以在该目录下创建目录

x 可以搜索和访问该目录


我们可以使用 ls -l来列出当前目录下的文件信息

-rw-r--r--+ 1 JiaQiao        Domain Users     0 四月 11 14:44 myfile

输出的第一个字符表示文件的类型

后面的三个表示属主的rwx权限,如果不具备该权限则为-.

下面三个表示同组用户的rwx权限

然后是三个表示其他用户的rwx权限


接下JiaQiao表示文件属主的用户名

Domain Users 表示文件属主的缺省组

0表示文件大小,以字节表示.

四月 11 14:44 表示更新时间

myfile 表示文件名


改变权限位

chmod(change mode)命令的一般格式为

chmod [who] operator [permission] file name

[who]的含义是:

u 表示文件属主

g 表示和文件属主同组的用户

o 表示其他用户

a 表示所有用户

operator表示操作

+ 增加权限

- 取消权限

= 设置权限


permission的含义

r 读权限
w 写权限
x 执行权限
s 文件属主和组s e t - I D
t 粘性位*
l 给文件加锁,使其他用户无法访问

例子:

chmod a-x myfile                     rw- rw- rw-                             收回所有用户的执行权限
chmod og-w myfile                 rw- r-- r- -                               收回同组用户和其他用户的写权限

chmod u=rx                              r-xr--r--                                    设置属主的权限为写与执行


chmod命令的绝对格式为

chmod [mode] file

[mode]是一个八进制数字

000

这一组三个数字每一个数字从左往右分别表示了属主, 同组用户, 其他用户的权限的和.

4 表示读权限

2 表示写权限

1 表示执行权限

比如,对于属主用户可以对文件进行读和执行操作的数字和为 4 + 1 = 5.

         对于同组用户可以对文件进行写操作的数字和为 2.

         对于其他用户可以对文件进行写和执行操作的数字和为 2 + 1 = 3

那么这个操作的mode值为 523


chmod 666                   rw- rw- rw-                         赋予所有用户读和写的权限
chmod 644                    rw- r-- r- -                           赋予所有文件属主读和写的权限,所有其他用户读权限
chmod 744                    rwx r-- r- -                          赋予文件属主读、写和执行的权限,所有其他用户读的权限
chmod 664                    rw- rw- r- -                        赋予文件属主和同组用户读和写的权限,其他用户读权限
chmod 700                    rwx --- ---                          赋予文件属主读、写和执行的权限
chmod 444                    r-- r-- r- -                           赋予所有用户读权限


如果希望一次设置目录下所有文件的权限,可以用:
chmod 644 *

还可以通过使用- R选项连同子目录下的文件一起设置:
chmod -R 664  /usr/local/home/dave/*



chown(change owner) 改变属主命令

chown someone myfile


chgrp(change group) 改变组命令

chgrp admin myfile


查看自己的用户名和组信息

id


umask值是一个系统管理员为每一个用户创建的一个作为该用户创建文件时赋予初始权限的值.

umask值与初始权限值相反,即初始权限值+umask值 = 最大权限值.

文件的最大权限值为666.(系统不允许在创建一个文件的时候,就对它赋予运行权限)

目录的最大权限值为777.

假如对于一个文件来说,希望它的初始权限为426,则umask的值为(6-4) (6-2) (6-6) = 240

对于目录来说,希望他的初始权限为426,则umask的值为(7-4) (7-2) (7-6) = 351

umask nnn

原创粉丝点击