我在用Ubuntu 12.04 LTS 64 位chroot 到刚刚unsquashfs
从 Kali Linux v1.0.5 32 位笔驱动器提取到我的硬盘驱动器(使用 )Squash 文件系统进行自定义:
luis@Fujur:$ sudo chroot /media/Datos/Temporal/squashfs/modificando
root@Fujur:/# ls
0 boot etc initrd.img media opt root sbin srv tmp var
bin dev home lib mnt proc run selinux sys usr vmlinuz
我已经能够修改文件(/etc/rc.local
添加用户以及adduser
对提取的文件系统进行一些其他小的更改),但是创建的新用户有这个问题:
root@Fujur:/# ls /home -la
total 8
drwxrwx--- 1 root plugdev 0 mar 24 22:45 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 4096 mar 24 00:29 luis
drwxrwx--- 1 root plugdev 0 mar 24 22:45 potato
如你看到的,所有者是“root”,组是“plugdev”,两者应与用户帐户的名称相同(本例中为 luis/potato)。会心为什么会发生这种情况应该没问题,但我想如果可以的话我可以解决它更改文件/目录权限,但我也不能:
root@Fujur:/tmp# cd /home/
root@Fujur:/home# ls -la
total 8
drwxrwx--- 1 root plugdev 0 mar 24 22:45 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 4096 mar 24 00:29 luis
drwxrwx--- 1 root plugdev 0 mar 24 22:45 potato
root@Fujur:/home# chown potato potato
root@Fujur:/home# ls -la
total 8
drwxrwx--- 1 root plugdev 0 mar 24 22:45 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 4096 mar 24 00:29 luis
drwxrwx--- 1 root plugdev 0 mar 24 22:45 potato
即使这样也/temp
没有机会:
root@Fujur:/# cd /tmp
root@Fujur:/tmp# ls -la
total 4
drwxrwx--- 1 root plugdev 0 mar 24 22:52 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
root@Fujur:/tmp# mkdir test
root@Fujur:/tmp# ls -la
total 4
drwxrwx--- 1 root plugdev 0 mar 24 22:57 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 0 mar 24 22:57 test
root@Fujur:/tmp# chmod a+x test
root@Fujur:/tmp# ls -la
total 4
drwxrwx--- 1 root plugdev 0 mar 24 22:57 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 0 mar 24 22:57 test
root@Fujur:/tmp# chmod a-x test
root@Fujur:/tmp# ls -la
total 4
drwxrwx--- 1 root plugdev 0 mar 24 22:57 .
drwxrwx--- 1 root plugdev 4096 sep 5 2013 ..
drwxrwx--- 1 root plugdev 0 mar 24 22:57 test
这是一件很奇怪的事情:我可以创建目录和文件,甚至可以编辑文件,但不能更改权限。也许我还没有chrooted正确吗?当我 *chroot` 进入分区以恢复 GRUB 时,我会执行以下操作:
$ sudo mount --bind /dev /mnt/dev
之前chroot
,但我认为事实并非如此。
我相信我可能误用了该chroot
命令。有什么想法吗?
添加:这是 的结果mount
。
chroot 之外(之前):
root@Fujur:/# mount
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda7 on /media/Datos type fuseblk (rw)
gvfs-fuse-daemon on /var/lib/lightdm/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=lightdm)
chroot 内部(之后):
root@Fujur:/# mount
warning: failed to read mtab
编辑:刚刚测试过,我在外面也遇到了同样的问题chroot
,这是:无需 chroot。我无法更改文件/目录权限。仍然没有错误,但没有进行更改。
答案1
线路
/dev/sda7 位于 /media/Datos 类型 fusionblk (rw)
frommount
的输出告诉您这/media/Datos
是一个 NTFS 分区 ( type fuseblk
)。
NTFS 无法像 ext{2..4} 等 Linux/Unix 文件系统那样存储所有权和权限。这就是为什么您可以设置所有权/权限,但它们不会持续存在。
为此,您需要切换到“正确的”文件系统(例如 ext4)。