Kök erişimi olmayan bir dosyanın sahipliğini değiştirmek mümkün müdür?


21

Bir A kullanıcısı file.txt dosyasına sahipse, A Kullanıcısı kök erişimine sahip olmadan dosyanın sahipliğini B kullanıcısı olarak değiştirebilir mi? Bir chown B file.txt kullanıcısını A kullanıcısı olarak çalıştırdığımda, İşleme izin verilmeyen bir hata alıyorum. Bana öyle geliyor ki, A Kullanıcısı dosyaya sahip olduğu için, mülkiyeti değiştirebilmeleri gerekirdi, ancak bunu yapmanın bir yolunu göremiyorum. Yardım için teşekkürler!


4
Suçlayıcı verileri bir dosyaya koyabilir ve sahipliğini birisini çerçeveye koyacak şekilde değiştirebilirsiniz :) Sanırım, önerdiğiniz şeye izin verilmesine karşı bir argüman.
Ocak'ta 16:12

1
Küçük bir ek: AFAIU sen yapabilirsiniz size değiştirirken grubunun bir üyesi olduğunuz şartıyla, size ait olan bir dosyanın sahibi grubunu değiştirmek için .
Matthijs Kooijman

Yanıtlar:


7

Eğer A Kullanıcısı sahibi ise file.txt, file.txtroot erişimi / sudo izni olmadan mülkiyeti değiştiremez . Bu bir özellik değil, bir hata. Ve yaşlıların bu özelliği koymak için seçmelerinin nedenlerinden biri de, yoldaşın sorusuna yaptığı yorumda açıklanmıştır.

Alt-line: kullanarak dosyanın izinlerini değiştirebilir chmodkök / sudo izinleri olmadan bu dosyanın sahibi iseniz ancak sahipliğini değiştiremezsiniz, kullanıcı veya grubu ya (kullanarak ya chownya chgrpsen olsa bile bir dosyanın,) root / sudo izinleri olmayan dosyanın sahibi. Bu bir özellik değil, bir hata.


2
Bu yanlış bir parçası. Kök olmayan kullanıcılar için onlar üyesisiniz grup başka gruplar değiştirin. Deneyin touch t; ls -l t; chgrp lpadmin t; ls -l t(Lpadmin grubunda olduğunuzu varsayarak). Ayrıca cevabımı ve bağlantılı sorumu da inceleyiniz.
Mark Stosberg

1
Büyükler yanlış anladı. Eğer A kullanıcısı ve A kullanıcısı da B kullanıcısıysa, A olarak giriş yaptıysam, A olarak B'ye sahip olmam gerekir, eğer A olarak giriş yaptıysam ve aynı zamanda B'nin şifresini de kullanabilirim.
aishu

@aishu İlke olarak, dosyayı B olarak kopyalayıp ardından A olarak silerek yapabilirsiniz. Büyük dosyalar için çok pratik değildir.
Holger Böhnke


2

B kullanıcısına erişiminiz varsa, dosyayı B olarak giriş yapmış halde kopyalayabilirsiniz. A kullanıcısına da erişiminiz varsa, o zaman giriş yapabilir ve orijinal dosyayı silebilirsiniz. Sonunda, kopyalanan dosyayı, orijinal adıyla (yine B) yeniden isimlendirerek, temelde farklı bir kullanıcının sahip olduğu aynı dosyaya sahip olmalısınız.

Açıkçası AYNI dosya değil, ama sadece dosyanın içeriğini önemsiyorsanız, bu hile yapar


1

Bir dosya veya klasörün sahipliğini sudo olmadan, şey üzerinde okuma / yazma izniniz olduğu sürece değiştirebilirsiniz ve keyfi bir kullanıcıya değil, yalnızca sahibini SİZE değiştirebilirsiniz. İşin püf noktası ne olduğunu kopyalamak, orijinali silmek ve sonra da kopyanızı yerine taşımaktır. Bu, ne yazık ki, her şeyin tam bir kopyasını almayı içerir, fakat ne yaparsınız.

örneğin, chuser.sh:

#!/bin/bash

TMP="some_temporary_filename_this_is_dumb"

RECURSIVE=""
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"

case $key in
    -r|--recursive)
    RECURSIVE="-r"
    shift # past argument
    ;;
    *)    # unknown option
    POSITIONAL+=("$1") # save it in an array for later
    shift # past argument
    ;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters

cp -d --preserve=all $RECURSIVE $1 $TMP || exit 1
rm $RECURSIVE $1
mv $TMP $1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.