루트 액세스없이 파일의 소유권을 변경할 수 있습니까?


21

사용자 A가 file.txt를 소유 한 경우 사용자 A는 루트 액세스없이 파일 소유권을 사용자 B로 변경할 수 있습니까? chown B file.txt를 사용자 A로 실행하면 작업이 허용되지 않습니다 오류가 발생합니다. 사용자 A가 파일을 소유하고 있기 때문에 소유권을 변경할 수 있어야하지만 그렇게 할 수있는 방법은 보이지 않습니다. 도와 주셔서 감사합니다!


4
당신은 파일에 범죄 데이터를 넣고 누군가를 프레임하기 위해 소유권을 변경할 수 있습니다.
roadmr

1
작은 또한 : AFAIU 당신이 할 수 당신이 변화하고있는 그룹의 구성원임을 제공, 사용자가 소유하는 파일의 소유 그룹을 변경할 .
Matthijs Kooijman 2016 년

답변:


7

사용자 A가을 소유 한 경우 루트 액세스 / 스도 권한 file.txtfile.txt없으면 소유권을 변경할 수 없습니다 . 이것은 기능이 아니며 버그가 아닙니다. 그리고 장로 들이이 기능을 사용하기로 선택한 많은 이유 중 하나는 roadmr에 의해 귀하의 질문에 대한 설명으로 설명되었습니다

결론 :chmod 루트 / sudo 권한이없는 파일의 소유자이지만 파일의 소유권이나 사용자 또는 그룹 ( chown또는을 사용하여 chgrp)을 변경할 수없는 경우 사용하여 파일의 권한을 변경할 수 있습니다 루트 / 스도 권한이없는 파일 소유자 이것은 기능이 아니며 버그가 아닙니다.


2
이 잘못의 일부. 루트가 아닌 사용자 자신이 속한 다른 그룹을 변경할 있습니다. touch t; ls -l t; chgrp lpadmin t; ls -l tlpadmin 그룹에 있다고 가정 하십시오 . 내 답변과 관련 질문도 참조하십시오.
Mark Stosberg 2016 년

1
장로들이 잘못했습니다. im 사용자 A 및 im 사용자 B 인 경우 im으로 A로 로그인 한 경우 암호를 B로 또는 그 반대의 경우 소유권을 A에서 B로 변경할 수 있어야합니다.
aishu

@aishu 원칙적으로 파일을 B로 복사 한 다음 A로 삭제하면됩니다. 큰 파일에는 그다지 실용적이지 않습니다.
Holger Böhnke


2

사용자 B에 액세스 할 수있는 경우 B로 로그인 한 상태에서 파일을 복사하면됩니다. 사용자 A에도 액세스 할 수있는 경우 로그인하여 원본 파일을 삭제할 수 있습니다. 그리고 마지막으로 복사 된 파일의 이름을 원래 이름 (B와 같음)으로 바꾸고 다른 사용자가 소유 한 본질적으로 동일한 파일을 남겨 둡니다.

분명히 SAME 파일은 아니지만 파일 내용에만 관심이 있다면 트릭을 수행합니다.


1

사물에 대한 읽기 / 쓰기 권한이 있고 임의의 사용자가 아닌 소유자 만 소유자로 변경할 수있는 한 sudo없이 파일 또는 폴더의 소유권을 변경할 수 있습니다. 트릭은 단순히 원본을 복사하고 원본을 삭제 한 다음 사본을 그 자리로 옮기는 것입니다. 불행히도 이것은 모든 것을 완전히 복사하는 것과 관련이 있지만 무엇을해야합니까?

예 : 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.