AI智能
改变未来

『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令

[toc]

常用基本权限操作命令:

  • chmod

    命令

  • chown

    命令

  • chgrp

    命令

1、chmod命令

修改权限的命令

chmod

,其基本信息如下:

  • 命令名称:
    chmod
  • 英文原意:
    change file mode bits
  • 所在路径:
    /bin/chmod
  • 执行权限:所有用户。
  • 功能描述:修改文件的权限模式。

chmod

命令格式:

[root@localhost ~ ] # chmod [选项] 权限模式 文件名选项:-R:递归设置权限,也就是给子目录中的所有文件设定权限

2、权限模式

chmod

命令的权限模式的格式是

[ugoa][+-=][perms]

,也就是

[用户身份][赋予方式][权限]

的格式,我们来解释一下。

(1)用户身份。

  • u

    :代表所有者(

    user

    )。

  • g

    :代表所属组(

    group

    )。

  • o

    :代表其他人(

    other

    )。

  • a

    :代表全部身份(

    all

    )。

(2)赋予方式。

  • +

    :加入权限。

  • -

    :减去权限。

  • =

    :设置权限。

(3)权限。

  • r

    :读取权限(

    read

    )。

  • w

    :写权限(

    write

    )。

  • x

    :执行权限(

    execute

    )。

# 查看abc文件的权限[root@192 ~]# ll-rw-r--r--. 1 root root   0 12月 29 21:41 abc# 1.给abc文件的所有者添加执行权限。[root@192 ~]# chmod u+x abc[root@192 ~]# ll-rwxr--r--. 1 root root     0 12月 29 21:41 abc# 2.同时给多个身份赋予权限,之间用逗号隔开。[root@192 ~]# chmod g+w,o+w abc[root@192 ~]# ll-rwxrw-rw-. 1 root root     0 12月 29 21:41 abc# 3.直接给对应的身份赋予想要的权限,用=。[root@192 ~]# chmod u=rwx,g=rwx,o=rwx abc[root@192 ~]# ll-rwxrwxrwx. 1 root root     0 12月 29 21:41 abc

3、数字权限

数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。我们来看看这些数字权限的含义。

  • 4:代表
    r

    权限。

  • 2:代表
    w

    权限。

  • 1:代表
    x

    权限。

说明:

r、w、x

代表读写执行的权限,我们把1代表有权限,0代表没有权限,则111带便三个权限都有,把111看成一个二进制数,转义成十进制就是7,101则为5,以此类推。

4、文件常用权限

数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个。

  • 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。(文件的标准权限就是这个权限)
  • 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限。
  • 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。(代表所有人都拥有对该文件的最大权限,实际工作中不可这么设置。)

5、chown命令

chown

是修改文件和目录的所有者和所属组的命令,其基本信息如下:

  • 命令名称:
    chown
  • 英文原意:
    change file owner and group
  • 所在路径:
    /bin/chown
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所有者和所属组。

chown

命令格式:

[root@localhost ~ ] # chown [选项] 所有者:所属组 文件或目录选项:-R:递归设置权限,也就是给子目录中的所有文件设置权限

注意:在新安装的Linux系统中,是有大量的系统用户的,但是这些系统用户是不能登陆的,能登陆的用户只有

root

用户。

演示:登陆用户为

root

# 1.文件的所有者为用户,所以需要先创建一个普通用户user1。[root@192 ~]# useradd user1[root@192 ~]# passwd user1更改用户 user1 的密码 。新的 密码:无效的密码: 过于简单化/系统化无效的密码: 过于简单重新输入新的 密码:passwd: 所有的身份验证令牌已经成功更新。# 上面两个命令就是添加用户和给用户设置密码。# 此时是root用户,如果是普通用户修改自己的密码,就需要符合密码复杂度原则。# 2.查看abc文件的拥有者和所属组[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc# 3.修改abc文件的拥有者为user1[root@192 ~]# chown user1 abc[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 user1 root 0 12月 29 21:41 abc#注意:在chown命令的描述中,是可以修改拥有者和用户组的`change file owner and group`。# 所以通过chown命令是可以同时修改文件的拥有者和用户组。[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 user1 user1 0 12月 29 21:41 abc[root@192 ~]# chown root:root abc[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc# 提示:chown命令中拥有者和所属组之间用:或.分隔都可以。

6、chgrp命令

chgrp

是修改文件和目录的所属组的命令,其基本信息如下:

  • 命令名称:
    chgrp
  • 英文原意:
    change group ownership
  • 所在路径:
    /bin/chgrp
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所属组。

同上边

chown

命令,演示如下:

# 1.查看abc文件的拥有者和所属组[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc# 2.修改abc文件的所属组[root@192 ~]# chgrp user1 abc[root@192 ~]#  ls -l abc-rwxrwxrwx. 1 root user1 0 12月 29 21:41 abc

注意:在

chown

命令的演示中,只创建了

user1

用户,并没有创建

user1

组。但此时系统中是有

user1

组的。在Linux系统中,如果你添加了一个用户,系统会默认生成一个同名的组(

user1

组),作为这个用户的初始组,所以不用在单独创建

user1

的用户组了。这与Windows系统是有区别的。

7、总结

  • 1.普通用户可以修改所有者是自己的文件的权限。
    [user1@192 ~]$ touch test[user1@192 ~]$ lstest[user1@192 ~]$ chmod 755 test[user1@192 ~]$ ls -l-rwxr-xr-x. 1 user1 user1 0 12月 30 00:49 test

    如果修改文件为其他拥护者的权限时,只有

    root

    用户可以。

  • 2.普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。
    [user1@localhost ~ ] $ chown user2 testchown:正在更改"test"的所有者:不允许的操作

    只有超级用户才能修改文件的所有者。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令