代码之家  ›  专栏  ›  技术社区  ›  Tanj

scp文件未设置正确的所有者

  •  0
  • Tanj  · 技术社区  · 7 年前

    SCP在设置文件权限时是否有问题,或者我是否错误配置了服务器?

    :实际上:没有问题-我只是误解了权限的工作方式-当文件内容更改时,权限不会更改

    用例:

    我想编辑服务器上的一个文件,名为“importantFile.txt”。该文件具有所有者和“主”组:

    ls -l importantFile.txt:
    -rw-rw-r--  1 master master     7 Mar 18 08:11 importantFile.txt
    

    我被称为“奴隶”,但幸运的是,我在“主人”组,所以我可以编辑文件,因为我认为合适。但是,我是一个懒惰的奴隶,不愿意在服务器上编辑文件,我更愿意在本地计算机上编辑文件并将其SCP到服务器:

    echo "bored slave info" > importantFile.txt
    scp importantFile.txt slave@theServerAddress:/pathToFile/importantFile.txt
    

    如果我这样做,服务器上的文件内容会被很好地上传,文件的时间戳会被更新,但文件的权限不会改变,文件仍然属于“master”。这是一个问题,因为如果“奴隶”上传了不好的内容,没有人会知道是“奴隶”造成了问题,“主人”看起来会有罪。

    也许我必须设置一个umask?如果是,在哪里?我尝试了.bash_档案,但没有成功,在谷歌上也没有找到任何关于乌玛斯克的资料 /etc/ssh/sshd_config

    4 回复  |  直到 16 年前
        1
  •  1
  •   Stobor    17 年前

    scp没有什么特别之处-尝试以从属身份登录服务器,并使用您喜爱的文本编辑器编辑文件。。。你会发现同样的行为也会发生。。。写入文件不会使您成为文件的所有者。


    #cd /tmp
    #mkdir fubar
    #chgrp vboxusers fubar
    #cd fubar/
    #touch testfile
    #chgrp vboxusers testfile 
    #chmod g+w . testfile
    #ls -al
    total 16
    drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
    drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
    -rw-rw-r--  1 root vboxusers     0 2009-03-19 10:30 testfile
    #echo foo > testfile 
    #ls -al
    total 20
    drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
    drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
    -rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile
    

    作为用户(在vboxusers组中)

    >cd /tmp/fubar
    >ls -al
    total 20
    drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
    drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
    -rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile
    >echo bar >> testfile 
    >ls -al
    total 20
    drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
    drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
    -rw-rw-r--  1 root vboxusers     8 2009-03-19 10:31 testfile
    >vim testfile
    >ls -al
    total 20
    drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:31 .
    drwxrwxrwt 15 root root      12288 2009-03-19 10:31 ..
    -rw-rw-r--  1 root vboxusers    12 2009-03-19 10:31 testfile
    >cat testfile 
    foo
    bar
    baz
    
        2
  •  1
  •   ypnos    17 年前

    您必须删除该文件才能覆盖它。您是否能够这样做取决于目录的权限和所有权。不可能劫持已存在文件的所有权。您拥有的写入权限仅应用于文件的内容。

        3
  •  1
  •   jozilla    15 年前

    backup-by-copying-when-mismatch C-h-v backup-by-copying-when-mismatch 在Emacs中)。

    我实际上提交了一份 bug report 关于这个,因为我认为这是流浪汉的一个错误。

        4
  •  0
  •   Tom    17 年前

    我误解了文件的工作方式,修改文件内容不会改变所有权或组。

    为什么会出现混乱?

    推荐文章