fakeroot을 사용하여 원하는 것을 할 수 있습니다. 프로그램을 만드는 라이브러리입니다. 루트가 아니라면 루트로 실행 중입니다. IIRC에서는 루트가 아닌 사용자가 .deb
루트 소유 파일을 포함하는 패키지를 빌드 할 수 있도록 dpkg
에 의해 사용됩니다. 이 쉘 스크립트 밖으로
확인 :
#!/bin/bash
mkdir image
touch image/user-owned
touch image/root-owned
chown renato.renato image/user-owned
chown root.root image/root-owned
tar cf image.tar image
일반적으로는, 난 단지 루트로이 tar 아카이브를 만들 수있을 것입니다. 내가 fakeroot 사용을 사용하는 경우 :
$ fakeroot ./create-image.sh
$ tar tvf image.tar
drwxr-xr-x root/root 0 2014-04-09 01:09 image/
-rw-r--r-- root/root 0 2014-04-09 01:09 image/root-owned
-rw-r--r-- renato/renato 0 2014-04-09 01:09 image/user-owned
그러나 디스크에있는 파일은 그래서 아무 보안 위험이 여기에, 여전히 사용자가 소유하고 있습니다
$ ls -l image/
total 0
-rw-r--r-- 1 renato renato 0 Abr 9 01:09 root-owned
-rw-r--r-- 1 renato renato 0 Abr 9 01:09 user-owned
당신은'su' 또는'sudo'을 사용할 수 있습니다, 그러나 그것은 그것의 끝에 관한 것이다. 당신은 다른 사람에게 속한 파일을 만들 수 없다. 가장 좋은 방법은 아카이브 도구를 수정하여 아카이브 내의 파일에 대한 기록 된 권한을 변경하는 것입니다. –
당신은 루트 사용자입니까, sudoers입니까? – MLSC
흠. 어쩌면 내가 schroot로 할 수있다 – Matt