美文网首页linux
【Linux】非root用户在root用户目录下创建文件夹权限问

【Linux】非root用户在root用户目录下创建文件夹权限问

作者: Bogon | 来源:发表于2024-09-30 13:13 被阅读0次

    根据下面信息分析为什么没有权限创建目录?

    $ id test
    uid=1500(test) gid=1500(test) groups=1500(test)
    
    $ ls -ld /data/
    drwxr-xr-x 6 root root 61 Sep 25 16:20 /data/
    
    $ umask
    0022
    
    $ mkdir  /data/mysqlBackup
    mkdir: cannot create directory ‘/data/mysqlBackup’: Permission denied
    

    根据您提供的信息,无法创建目录的原因如下:

    1. 权限问题:您尝试在/data/目录下创建mysqlBackup目录,但该目录的权限为drwxr-xr-x。这表示:

      • 所有者(root)有读、写和执行权限。
      • 同组用户(root)有读和执行权限,但没有写权限。
      • 其他用户(如test)也有读和执行权限,但没有写权限。

      因此,用户test(UID 1500)没有权限在/data/目录下创建新目录。

    2. umask设置:您查看的umask值为0022,这意味着新创建的目录默认将会有rwxr-xr-x的权限,这与/data/目录的权限相符。因此,umask设置不会影响您创建目录的权限。

    综上所述,您无法在/data/目录下创建目录的原因是您没有写权限。要解决这个问题,您可以:

    • 以root用户身份创建目录。
    • 请求管理员更改/data/目录的权限,允许其他用户写入。
    # mkdir /data/mysqlBackup
    # chown -R test:test  /data/mysqlBackup
    

    用户 test 无法在 /data/ 目录下创建目录的原因主要是由于该目录的权限设置和用户身份。

    1. 权限设置/data/ 的权限是 drwxr-xr-x,具体如下:

      • 所有者(root)具有读、写和执行权限。
      • 同组用户(root)和其他用户(如 test)只有读和执行权限,没有写权限。
    2. 用户身份:用户 test 的 UID 是 1500,并且该用户不属于 root 组(gid 是 1500,与 UID 相同),因此它没有权限在 /data/ 目录下写入。

    3. 写入权限:创建目录需要在父目录中具有写权限。由于 test 没有对 /data/ 目录的写权限,所以无法在该目录下创建任何子目录。

    因此,test 用户无法在 /data/ 中创建目录的直接原因是缺乏必要的写入权限。

    相关文章

      网友评论

        本文标题:【Linux】非root用户在root用户目录下创建文件夹权限问

        本文链接:https://www.haomeiwen.com/subject/focjrjtx.html