Fork me on GitHub

Linux下用户组、文件权限

本文参考了http://www.cnblogs.com/123-/p/4189072.html一些内容,对原作者表示感谢!

用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念

- 所有者

- 所在组

- 其它组

- 改变用户所在的组

 

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。当一个文件被创建时,文件的所有者默认拥有对该文件的读、写和可执行权限。

用ls ‐ahl命令可以看到文件的所有者

也可以使用chown 用户名 文件名来修改文件的所有者

 

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

用ls ‐ahl命令可以看到文件的所有组

也可以使用chgrp 组名 文件名来修改文件所在的组

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

 

文件权限

在RedHat Linux中,每一个文件或目录都明确地定义它的使用权限等,用户可用下面的命令规定自己主目录下的文件权限。

  1.chown

  格式:chown [选项] 用户名 [:组群名称] 文件名

  功能:改变文件或目录的拥有者。由文件或目录的拥有者和root来使用这个命令。

  常用选项说明:

  -R 递归更改所有文件及子目录

  -f  去除大部分错误信息

  -v 显示详细信息

  -c 类似于-v参数,但是只有在更改时才显示结果

%将hello.sh文件的所有者由root更改为student
#chown student hello.sh

%将hello.sh的所有者和所属组群改为student用户和student组群
#chown student:student hello.sh

  2.chgrp

  格式:chgrp [选项] 组群名 文件或目录名称

  功能:该命令用于改变文件或目录的所属组。与chown命令用法一样,只有root或者文件的所有者才能更改文件所属的组

注:该命令的选项含义与chown相同。

%将当前目录下的a.txt文件的所属组改成student
#chgrp student a.txt

%把文件shutdown所属组改成system组
#chgrp system /sbin/shutdown

  3.chmod 

  格式:chmod [选项] 权限参数 文件或目录名

  功能:用于修改文件的权限。只有文件属主和root用户才可以使用该命令,root的权限始终和文件所有者相同。

   常用选项说明:

  -R 递归更改所有文件及子目录。

  -f 去除大部分错误信息。

  -v 显示详细信息。

  -c 类似于-v参数,但是只有在更改时才显示结果。

 

权限参数可以有两种使用方法:英文字母表示法和数组表示法。

  (1)英文字母表示法。

  一个文件用10个小格位记录文件的权限,第一个小格代表文件类型。"-"表示普通文件,"d"表示目录文件,"b"表示块文件,"c"表示字符文件。接下来是每3小格代表一类型用户的权限。前3小格是用户本身的权限,用u代表,中间3小格代表和用户同一个组的成员权限,用g代表,最后3小格代表其他用户的权限,用o代表。即-rwx------属于用户存取权限,用u代表,---rwx---属于组用户存取权限,用g代表,------rwx属于其他用户存取权限,用o代表。而每一种用户权限就直接用r、w、x来代表对文件可读、可写、可执行,然后再用+、-或=将各类型用户代表符号u、g、o和rwx3个字母连接起来即可。

#ls -l
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

  •  第一个字符代表文件(-)、目录或者说文件夹(d),链接(l),其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
  •  第一组rwx:文件所有者的权限是读、写和执行
  •  第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
  •  第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行,也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7
  •  1 表示连接的文件数
  •  root 表示用户
  •  root表示用户所在的组
  •  1213 表示文件大小(字节)
  • Feb 2 09:39 表示最后修改日期
  •  abc 表示文件名

%设置用户本人对file1可以进行读写执行的操作
#chmod u+rwx file1

%删除用户对file1的可执行权限
#chmod u-x file1

%设置同组用户对file1文件增加权限为能读写,其他用户则只能读
#chmod g+rw,o+r file1

%取消同组用户对a.txt文件的写入权限
#chmod g-w a.txt

  (2)数字表示法。数字表示法是用3位数字xxx表示权限的,最大值为777。第一个数字代表用户使用权限,第二个数字代表同组用户使用权限,第三个数字代表其他用户使用权限。r=4,w=2,x=1。如果不指定任何权限的话,就要补0。

%指定用户对file1的权限是可读、可写、可执行
#chmod 700 file1

%指定用户本人对file1的权限是可读可写
#chmod 600 file1

%更改a.txt文件的权限为所有者和同组用户可读,但不能写和执行,其他用户对此文件没有任何权限
#chmod 440 a.txt

 

posted @ 2018-01-30 17:58  BugBingo  阅读(326)  评论(0编辑  收藏  举报