linux为多用户操作系统,为了实现方便用户管理,采用分组的方式管理用户每个用户都位于一个用户组中,都有一个uid,而每个用户组又有一个gid.root作为一个特别的用户,其uid=gid=0,其所在用户组名为root.用户信息保存在/etc/passwd中cat /etc/passwd可看到用户信息。niuxinli@niuxinli-desktop:~$ cat /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/sh。。。。。。。niuxinli:x:1000:1000:niuxinli,,,:/home/niuxinli:/bin/bash。。。。。。。。。。。。。其中每行为一个用户,信息用:分开,从左向右一次为:用户名:密码信息:uid:gid:用户根目录:所用的bash关于用户与用户组就说这么多,现在详细的讲一下文件的权限。用“ls -l 文件名” 可以查看该文件的详细信息如niuxinli@niuxinli-desktop:~$ ls -l 12.txt-rwxr-xr-x 1 niuxinli niuxinli 12 2009-10-05 12:56 12.txt只看前边的-rwxr-xr-x 1 niuxinli niuxinli权限就用-rwxr-xr-x表示,什么意思呢?这里一共有10个字符,第一个表示文件类型,常见文件类型:-:普通文件,如文本文件和二进制文件
d:目录,linux将目录看成文件
l:链接文件,如
niuxinli@niuxinli-desktop:~$ ln -s 12.txt 11(创建链接)
niuxinli@niuxinli-desktop:~$ ls -l 11
lrwxrwxrwx 1 niuxinli niuxinli 6 2009-10-05 13:14 11 -> 12.txt
p:管道文件
c:字符设备文件
b:块设备文件
(不必了解太细)接下来一共还有9位,这是表示权限的每三位一组,分别表示文件所有者对文件的权限,文件所在组其他用户的权限,其他的用户的权限。权限分为r(读),w(写),x(执行)例如上边的rwxr-xr-x表示文件所有者(niuxinli)对文件可读可写可执行,所在组用户(niuxinli组)对文件可读可执行但不能修改,同样,剩下的其他用户也是如此。-表示没有此权限。跟在权限后面的是连接数,紧接着后面是文件所有者和所在用户组。即使权限为---------,root用户也能对文件进行操作,因为root在linux中是无所不能的。还有几个特殊的权限,后面再详细说。那么我们怎么来修改一个文件的权限呢?chmod 修改用户的权限chown 修改文件的所有者chgrp 修改文件的用户组chmod用法:说到chmod用法,先说一下权限的数字表示用字母需要9位,而用数字只需3为,r=4,w=2,x=1,相加即可若某个文件的权限为761 等价于rwxrw---x;345等价于-wxr--r-x第一种用法:直接用数字指定权限如 chmod 754 1.txt第二种用法:用+,-,=如chmod +x 1.txt chmod a+rw 1.txt 表示给所用用户都加上rw权限chmod u+w,g+x,o-r 1.txt表示给所有者(u)加上w权限,同组用户(g)加上x权限,其他用户(o)减去r权限。chmod u=rwx,g=rwx,o-rwx还有指定参考文件等,不需要记这么多。chown:chown niuxinli 1.txt把1.txt的所有者修改为1.txtchgrpchgrp niuxinli 1.txt把1.txt的用户组改为niuxinli关于linux文件权限还有很多,比如umask,SUID,SGID,我以后的文章会继续讲。上面很多命令不够详细,可以man一下,比如niuxinli@niuxinli-desktop:~$ man chgrpCHGRP(1) User Commands CHGRP(1)NAME chgrp - change group ownershipSYNOPSIS chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...DESCRIPTION Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. -c, --changes like verbose but report only when a change is made --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the ownership of a symlink)
本文转自nxlhero 51CTO博客,原文链接:http://blog.51cto.com/nxlhero/209625,如需转载请自行联系原作者