设置目录和文件的归属
1.chown 命令
需要设置文件或者目录的归属时,主要通过 chown 命令进行。可以只设置属主或属组,也可以同时设置属主、属组。使用 chown 命令的基本格式如下:
chown 属主[:[属组]] 文件或目录…
同时设置属主、属组时,用户名和组名之间用“:”进行分隔。若只设置属组,则需使用“:组名”的形式。如果只需要设置目录或文件的属主,直接以用户名表示归属即可,递归修改目录归属同样可以使用“-R”选项。
例如,执行以下操作可将/var/ftp/pub/目录的属主由 root 改为ftp(调整后用户 ftp 将拥有“rwx”的权限)。
[root@localhost ~]# ls -ld /var/ftp/pub/ //修改前的属主为 root
drw-r--r--. 2 root root 6 10月 1 22:52 /var/ftp/pub/
[root@localhost ~]# chown -R ftp /var/ftp/pub/
[root@localhost ~]# ls -ld /var/ftp/pub/ //修改后的属主为 ftp
drw-r--r--. 2 ftp root 6 10月 1 22:52 /var/ftp/pub/
如果同时设置目录和文件的属主、属组,则需要用到分隔符“:”。
例如,执行以下操作可将 mymkdir 文件的属主更改为 daemon、属组更改为 wheel。
[root@localhost ~]# ls -ld mymkdir
-rwxr-xr-x. 1 root root 79768 10月 1 22:42 mymkdir
[root@localhost ~]# chown daemon:wheel mymkdir
[root@localhost ~]# ls -ld mymkdir
-rwxr-xr-x. 1 daemon wheel 79768 10月 1 22:42 mymkdir
2.umask 命令
当知道了如何改变一个文件或目录的属性了,不过,你知道当你新建一个新的文件或目录时,它的默认权限是什么吗?这个是与 umask 有关。
umask 就是默认指定目前用户在新建文件或目录是的权限默认值。执行“umask 022”即可以设置当前用户的默认权限。直接执行“umask”命令就是查看当前系统的默认权限。需要注意的是,umask 的分数指的是“该默认值需要减掉的权限”因此 r、w、x 分别是 4、2、1,
(1)如果执行“umask 022”代表 group 和 other 被拿掉了权限"2",也就是被拿掉了“写”权限。
[root@localhost ~]# umask 022
[root@localhost ~]# mkdir /umask1
[root@localhost ~]# ls -ld /umask1/
drwxr-xr-x. 2 root root 6 10月 2 10:55 /umask1/
(2)如果执行命令“umask 000”,代表文件的默认权是“777”。
[root@localhost ~]# umask 000
[root@localhost ~]# mkdir /umask2
[root@localhost ~]# ls -ld /umask2/
drwxrwxrwx. 2 root root 6 10月 2 10:55 /umask2/