首页 > 代码库 > 文件及目录的权限
文件及目录的权限
1.[root@rusky ~]# id #显示当前用户的主组和备用组 uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) [root@rusky ~]# groups #显示当前用户组信息 root bin daemon sys adm disk wheel [root@rusky ~]# ls -l total 104 -rw-r--r-- 1 root root 0 May 2 08:14 123 -rw-r--r-- 1 root root 139 Apr 5 22:20 2006 #-表示该文件为普通文件 drwxr-xr-x 2 root root 4096 Apr 22 02:33 Desktop #第一个字符d表示该文件是目录 -rw-r--r-- 1 root root 26220 Apr 3 16:17 install.log -rw-r--r-- 1 root root 3327 Apr 3 16:16 install.log.syslog drwxr-xr-x 2 root root 4096 Apr 14 00:22 Templates d表示目录文件 rwx表示所有者权限 r-x表示组权限 r-x表示其它用户权限
2.权限的文本模式:r-4 w-2 x-1 0-没有权限
相对权限操作:用户类型(u:所有者 g:组 o:其它用户 a:所有用户) 操作(+ - =) 权限(r w x )
[root@rusky home]# ls -l 99user.ldif -rwxr-xr-x 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod g+w 99user.ldif [root@rusky home]# ls -l 99user.ldif -rwxrwxr-x 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod 0-x 99user.ldif chmod: invalid mode: `0-x‘ Try `chmod --help‘ for more information. [root@rusky home]# chmod o-x 99user.ldif [root@rusky home]# ls -l 99user.ldif -rwxrwxr-- 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod ugo+w 99user.ldif [root@rusky home]# ls -l 99user.ldif -rwxrwxrw- 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod 000 99user.ldif [root@rusky home]# ls -l 99user.ldif ---------- 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod u=rw 99user.ldif [root@rusky home]# ls -l 99user.ldif -rw------- 1 root root 1052364422 Apr 22 00:35 99user.ldif [root@rusky home]# chmod 777 99user.ldif [root@rusky home]# ls -l 99user.ldif -rwxrwxrwx 1 root root 1052364422 Apr 22 00:35 99user.ldif
3.在使用chmod设置权限时,如果指定文件为目录,则受影响的只是目录本身,目录中的文件和子文件不受影响。
[root@rusky home]# chmod 777 king [root@rusky home]# ls -ld king #-d 只列出目录本身 drwxrwxrwx 11 root root 4096 Apr 28 01:50 king [root@rusky home]# ls -l king #没有参数d,则列出目录里的所有文件 total 76 drwxr-xr-x 8 root root 4096 Apr 28 01:43 com_sun_web_ui drwxr-xr-x 2 root root 4096 Apr 28 01:43 css drwxr-xr-x 10 root root 4096 Apr 28 01:43 html drwxr-xr-x 9 root root 4096 Apr 28 01:43 images drwxr-xr-x 2 root root 4096 Apr 28 01:43 js drwxr-xr-x 2 root root 45056 Apr 28 01:43 jsp drwxr-xr-x 2 root root 4096 Apr 28 01:44 META-INF drwxr-xr-x 12 root root 4096 Apr 28 02:26 testdir drwxr-xr-x 4 root root 4096 Apr 28 01:43 WEB-INF [root@rusky home]# chmod -R 777 king #加参数-R表示递归授权,目录里的文件和子目录也有相同的权限 [root@rusky home]# ls -l king total 76 drwxrwxrwx 8 root root 4096 Apr 28 01:43 com_sun_web_ui drwxrwxrwx 2 root root 4096 Apr 28 01:43 css drwxrwxrwx 10 root root 4096 Apr 28 01:43 html drwxrwxrwx 9 root root 4096 Apr 28 01:43 images drwxrwxrwx 2 root root 4096 Apr 28 01:43 js drwxrwxrwx 2 root root 45056 Apr 28 01:43 jsp drwxrwxrwx 2 root root 4096 Apr 28 01:44 META-INF drwxrwxrwx 12 root root 4096 Apr 28 02:26 testdir drwxrwxrwx 4 root root 4096 Apr 28 01:43 WEB-INF
4.改变文件的所有权
chown[options] user[:group] file1 file2...
-f:强制更改所有者 -R:递归更改所有者
chown -R user1:group1 testdir1 将目录testdir1及其子目录和文件的用户所有权和组所有权转交给group1组的user1用户
5.修改组所有权
chgrp [options] [group] file
6.特殊权限命令setuid:只针对可执行文件而言,把普通用户的权限临时提到root账号权限。同r w x一样,setuid权限使用字符s表示
例如:passwd和shadow文件,只有root用户才有权限修改这两个文件,当普通用户修改自己的密码时,就要读写这两个文件,权限得到临时提升……
setuid权限使用数值4表示如:chmod 4755 /etc/passwd 或chmod u+s /etc/shadow
7.setgid权限,与setuid类似,这使任意使用者在执行某个文件时,都绑定了用户所属组的权限。如果某目录dir1被设置为setgid权限时,当普通用户在dir1下新建文件时,被新建的文件所属的组与dir1目录所在组相同,而文件的所有者还是文件的创建者。 chmod g+s dir1 #setgid同样使用字符s表示。而使用数值2表示 chmod 2755 dir1
通常这两种权限会一起使用,绑定某个特殊用户及其组的特殊权限。如:chmod ug+s testfile chmod 6755 testfile
8.粘滞位t ,数字1表示
在/tmp目录下新建的文件,如果没有设置t权限,则任何用户都可进行rwx操作。如果设置了t权限,则只有文件的创建者才有rwx权限。如:chmod +t testfile chmod -t testfile chmod 1755 testfile chmod 0755 testfile
9.权限掩码umask,用于指定文件或目录被创建时的默认访问权限
在大多数unix系统中,A(不可执行的普通文件在创建时,其默认模式为:666 可执行的文件和目录默认模式为777 )
[root@rusky ~]# umask #查看系统默认umask值022
文件或目录在创建时的默认访问权限为A-022
10.目录的权限
目录的读权限允许用户查看目录中的文件列表:即可使用ls dir命令;写权限则允许用户在目录中创建、删除、修改文件;执行权限允许用户进入目录中,并搜索该目录中的文件。