linux root用户修改权限说是只读文件系统,怎么办?

linux root用户修改权限说是只读文件系统,怎么办?,第1张

linux root用户修改权限说是只读文件系统是设置错误造成的,解决方法为:

1、打开linux系统,建立一个目录,文件夹创建命令mkdir ceshi。

2、查看一下这个文件夹的权限。

3、现在这个ceshi的文件的用户组linuxadmin,修改用户组的权限 chgrp  root  ceshi。

4、chmod   -R  a+w 修改ceshi文件夹的权限。

5、chown 改变文件夹所有者,用chown该所属者为bin。

6、查看权限的方式可以借助【man】 chgrp、chown、chmod 查看帮助文档。

注意事项:

Linux与其他 *** 作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。

linux系统重启或无故变为只读造成网站无法正常访问的简单临时的做法:

1、mount:

用于查看哪个模块输入只读,一般显示为:

/dev/hda1 on / type ext3 (rw)

none on /proc type proc (rw)

usbdevfs on /proc/bus/usb type usbdevfs (rw)

none on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda5 on /home type ext3 (rw)

none on /dev/shm type tmpfs (rw)

/dev/hda2 on /usr/local type ext3 (rw)

/dev/nb1 on /EarthView/RAW type ext3 (ro)(变为只读了)

2、如果发现有ro,就重新mount,或者umount以后再remount

3、umount /dev/nb1

如果发现有提示“device is busy”,找到是什么进程使得他busy

fuser -m /mnt/data 将会显示使用这个模块的pid

fuser -mk /mnt/data 将会直接kill那个pid

然后重新mount即可。

4、还有一种方法是直接remount,命令为

mount -o rw,remount /mnt/data

具体深入的做法,情况不同可以自行选择:

服务器/var/log/messages报错 :

end_request: I/O error, dev sda, sector 122194293 Buffer I/O error on device sda1, logical block 446493 lost page write due to I/O error on sda1

下面是整个处理全过程

[root@php5 ~]# fdisk -lu #第一步 :找出本地扇片所在的分区

Disk /dev/sda: 73.4 GB, 73407868928 bytes

255 heads, 63 sectors/track, 8924 cylinders, total 143374744 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 63 4096574 2048256 83 Linux

/dev/sda2 4096575 75778604 35841015 83 Linux

/dev/sda3 75778605 129034079 26627737+ 83 Linux

/dev/sda4 129034080 143364059 7164990 5 Extended

/dev/sda5 129034143 139267484 5116671 83 Linux

/dev/sda6 139267548 143364059 2048256 82 Linux swap

[root@php5 ~]# tune2fs -l /dev/sda3 |grep "Block size" #找到block大小。

Block size: 4096

(122194293-75778605)*512/4096 =528691 利用公式算出逻辑块地址

b = (int)((L-S)*512/B)

[root@php5 ~]# debugfs

debugfs 1.35 (28-Feb-2004)

debugfs: open /deb/sda3

/deb/sda3: No such file or directory while opening filesystem

debugfs: open /dev/sda3

debugfs: icheck 582391

Block Inode number

582391 277584

debugfs: ncheck 277584

Inode Pathname

277584 /users/inn.net.cn/data/upload/download/innshow004.rar

debugfs: quit

[root@php5 ~]#dd if=/dev/zero of=/dev/sda1 bs=4096 count=1 seek=582391 #找到这个快的文件之后,需要做好备份,我们强制把它设置为0字节。

[root@php5 ~]# sync

出现错误的原因是由于我突发奇想写了一个reboot集群的脚本,导致集群非法关机,然后就炸了。。。

在我使用上述reboot脚本后,发现MobaXterm(远程工具)ssh死活连不上了。

赶紧检查集群,发现如下报错:

由于心急没有管报错(第一次见看不懂),直接输密码进入界面(我的是无可视化界面的CentOS 6.5)。

进界面后首先尝试ssh其他节点。报错。

尝试从宿主机ping虚拟机,也ping不通。

那么首先确定网络问题,查看/etc/sysconfig/network-scripts/ifcfg-eth0下的ip配置。

没有问题。

输入命令查看ip:

发现只有127.0.0.1,此时基本确定网络服务故障或未自启动。

输入命令启动网络服务:

可以看到ip正常了。

测试宿主机ping虚拟机也正常了。

测试虚拟机ping虚拟机也正常了。

测试ssh本机也正。。。等等!

ssh没通,报错如下:

和最开始的报错是一样的,有了经验,大致也猜测的出很有可能sshd服务也没有自启动。

输入sshd启动命令:

控制台报错信息:

/var/lock/subsys/sshd not group or world-writable

出现此报错,整个系统问题已经初现端倪。

虽然启动sshd服务报错了,但尝试ssh本机却正常了。

此时试着启动集群的各个进程。

果然,大量报错。

只读文件系统 几个大字摧毁我幼小的心灵

想起解决的网络、ssh问题,明白了罪恶的源头就在....

就是它!万恶之源!

首先查看挂载的分区:

又有报错,不过看不懂。猜测是mount命令相关的文件也被修改成只读了。

开机报错的/dev/sda1分区并没有挂载,而/dev/sda3是正常的rw(读写)状态。

我有点晕。

尝试修复/dev/sda3分区:

第一次使用fsck命令,看不太明白,不过该命令没起到什么作用。

有点绝望,随手尝试了修改/dev/sda3分区的状态:

居然不报错了!

至此报错全部消失,网络服务和ssh服务也正常开机自启了。

留下懵逼的我,具体原理日后学习再补充。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6133681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存