LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: d00m3d

About /dev/null (Problem solved)

[复制链接]
 楼主| 发表于 2005-7-14 19:04:41 | 显示全部楼层
Login as root:

#mount -t ext3 /dev/hda8 /mnt/hda8
#chroot /mnt/hda8 /bin/sh
sh-3.00#whoami
root
sh-3.00#ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 May 30 17:18 /dev/null
sh-3.00#ls > /dev/null
sh: /dev/null: Permission denied
sh-3.00#

:help  :help  :help
回复 支持 反对

使用道具 举报

发表于 2005-7-14 20:20:12 | 显示全部楼层
可怜的忘怀洞啊...
回复 支持 反对

使用道具 举报

发表于 2005-7-14 20:29:37 | 显示全部楼层
你尝试一下在chroot环境下的/dev目录下新建一个文件看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-15 09:09:15 | 显示全部楼层
Login as root:

#mount -t ext3 /dev/hda8 /mnt/hda8
#chroot /mnt/hda8 /bin/sh
sh-3.00#whoami
root
sh-3.00#ls -l|grep dev
drwxr-xr-x 2 root root 4096 Jul 14 22:49 dev
sh-3.00#cd /dev
sh-3.00#ls -l TEST
ls: TEST: No such file or directory
sh-3.00#touch TEST
sh-3.00#ls -l TEST
-rw-r--r-- 1 root root 0 Jul 14 23:05 TEST
sh-3.00#rm TEST
sh-3.00#ls -l TEST
ls: TEST: No such file or directory
sh-3.00#ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jul 6 18:32 /dev/null
sh-3.00#ls > /dev/null
sh: /dev/null: Permission denied
sh-3.00#

There is no problem in writing the /dev directory.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-15 09:49:50 | 显示全部楼层

About /dev/null (Problem solved)

In my /etc/fstab, I added the "users" option in order to allow normal user to mount the specific partition:

#cat /etc/fstab |grep /dev/hda8
/dev/hda8 /mnt/hda8 ext3 noauto,users,exec 0 0

However, the "users" mount option implies "noexec", "nosuid" and "nodev" (unless overridden by subsequent options).  Therefore, when I attempt to mount /dev/hda8, I got:

#mount /dev/hda8
#mount |grep /dev/hda8
/dev/hda8 on /mnt/hda8 type ext3 (rw,nosuid,nodev)

Here, noexec is overridden by my exec option in /etc/fstab

To solve the problem, I must get rid of the nodev option.
I may append a ",dev" option to my /etc/fstab or mount my chroot filesystem as below:

#mount /dev/hda8 /mnt/hda8 -o rw

Now, the mount option is changed:

#mount |grep /dev/hda8
/dev/hda8 on /mnt/hda8 type ext3 (rw)

#chroot /mnt/hda8 /bin/sh
sh-3.00#ls > /dev/null
sh-3.00#

Problem solved.  Cheers!

Further reference:
http://www.knoppix.net/wiki/Dev_null_permission_denied
回复 支持 反对

使用道具 举报

发表于 2005-7-15 11:33:35 | 显示全部楼层
佩服d00m3d兄弟的努力,这个问题确实很经典,同时暴露出我们平时容易忽视的一些细节问题,值得加精!
回复 支持 反对

使用道具 举报

发表于 2005-7-15 13:25:53 | 显示全部楼层
嗯. 很多知识书本上是很难学到的. LINUX就需要这种对问题的探求精神.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表