首页 > 技术分享 > Other
收藏

Linux权限控制以及相关命令详解

02/20 22:44
大潇博客 原创文章,转载请标明出处

权限信息

Linux权限管控的单元是用户级别和用户组级别。

使用ls -l命令通过列表形式查看文件和文件夹信息,列表中会显示权限细节。

第一部分表示文件、文件夹的权限控制信息;

第二部分表示文件、文件夹所属用户;

第三部分表示文件、文件夹所属用户组;


权限详解

仔细看上图中的第一部分,共10个字符,用来表示类型与权限

第1个字符表示类型,有“-”、“d”、“l”三种,各解释为:

-:文件

d:文件夹

l:软连接


后面9个字符最多可有三组rwx(rwxrwxrwx),分别表示:所属用户权限、所属用户组权限、其他用户权限。

针对文件、文件夹的不同,rwx的含义有细微的差别,分别是:

  • r:读权限(read),表示可以查看文件的内容,文件夹表示可以查看文件夹内容,如使用ls命令;
  • w:写权限(write),表示可以修改文件,文件夹表示可以在文件夹内执行创建、删除、修改等操作;
  • x:执行权限(execute),表示可以执行某个程序文件,文件夹表示可以更改工作目录到此文件夹,比如是否拥有cd进入权限;


详细解释如下图:

通过上面的解释可以看到,整个Linux操作系统的权限就三部分:可读、可写、可执行。


修改操作权限:chmod命令

使用chmod命令可以修改文件、文件夹权限,只有root用户或者文件和文件夹的所属用户可以使用chmod命令修改权限。

chmod命令用法:

chmod [-R] 权限 文件或文件夹   #选项: -R,对文件夹内的所有文件和文件夹,赋予同样的权限

举例:

chmod u=rwx,g=rx,o=x hello.txt   #将hello.txt文件权限修改为:rwxr-x--x

chmod -R u=rwx,g=rx,o=x hello #将文件夹hello以及文件夹内所有的子文件与文件夹权限设置为 rwxr-x--x

为了更好理解,举例使用ugo的写法,它们的含义分别是:

u=user,表示所属用户的权限;

g=group,表示所属组的权限;

o=other,表示其它用户的权限;


在工作中常用的是快捷写法,即通过3位数字表示权限,比如常见的权限:777、755、751等,第一位数字表示用户权限,第二位数字表示用户组权限,第三位数字表示其他用户权限。

数字的细节如下:r记为4,w记为2,x记为1,由此可以得到以下8种权限表示法:

0:无任何权限,即 ---

1:仅有x权限,即 --x

2:仅有w权限,即 -w-

3:有w和x权限,即 -wx

4:仅有r权限,即 r--

5:有r和x权限,即 r-x

6:有r和w权限,即 rw-

7:有全部权限,即 rwx

结合上面的解释,可得到751表示的权限是:-rwx(7)r-x(5)--x(1)


举几个了例子

1、将a.txt的权限改为r-x-w---x

chmod 521 a.txt


2、将b.txt的权限修改为-wx--xr-x

chmod 315 b.txt


3、将文件c.txt修改为:所属用户有全部权限,同组用户只能修改和执行,其他用户只能执行

chmod 731 c.txt


4、序号123表示的权限是:--x-w--wx


修改文件、文件夹的所属用户和组:chown命令

chown命令用法

chown [-R] [用户名][:][用户组] 文件或文件夹  #选项-R:对文件夹内的全部内容应用相同规则

注意:此命令只适用于root用户,普通用户无法修改所属用户和所属用户组


只修改所属用户

chown [-R] 用户名 文件或文件夹

只修改所属用户组

chown [-R] :用户组 文件或文件夹

修改用户和组

chown [-R] 用户名:用户组 文件或文件夹


示例:

chown root user.txt  #将user.txt所属用户修改为root

chown :root user.txxt  #将user.txt所属组修改为root

chown root:www user.txt  #将user.txt所属用户修改为root,所属组修改为www

chown -R www user  #将文件夹user以及文件夹内全部内容的所属用户,修改为www


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311