非 root 权限读写 Linux 文件的方法(精选5篇)由网友“海绵宝宝爱洗澡”投稿提供,下面是小编帮大家整理后的非 root 权限读写 Linux 文件的方法,欢迎阅读,希望大家能够喜欢。
篇1:非 root 权限如何读写Linux文件Linux
用户在使用 Linux 系统时难免会出现口令遗失、配置错误、系统故障等问题,导致不能正常登录进自己的 Linux 系统,如果能够以其它的方式去读写 Linux 文件,对文件进行修改,则有可能恢复问题,至少也可以拷贝出重要文件,使重要数据不会被丢失。在此,有以下
用户在使用 Linux 系统时难免会出现口令遗失、配置错误、系统故障等问题,导致不能正常登录进自己的 Linux 系统。如果能够以其它的方式去读写 Linux 文件,对文件进行修改,则有可能恢复问题,至少也可以拷贝出重要文件,使重要数据不会被丢失。在此,有以下几种方法可以在不能正常登录时实现对 Linux 文件的读写。紧急修复模式
紧急修复模式是以紧急修复软盘或 Linux 安装光盘引导启动后,在 boot 提示符下输入 “linux rescue” 参数引导进入的 Linux 基本环境。在紧急修复模式下,能够使用 chmod、vi、fsck 等命令去读写硬盘上的 Linux 文件,从而挽回某种过失,恢复系统正常。
单用户模式
与紧急修复模式只能加载本机 Linux 上的文件系统不同,单用户模式是在本机 Linux 内核引导启动后进入的一个运行级别(运行级别是1)。单用户指的是系统运行惟一的用户??超级用户模式下,进入时无需口令验证。进入此模式时,系统只是加载了可以运行的最低软硬件配置,可以做 Kernel 升级、设备安装等维护工作。在系统维护时,系统管理员往往要进入单用户模式来维护系统。
进入单用户模式的方法有许多种,如果安装了 LILO 多重启动管理器,在系统启动时的 “LILO boot” 提示符下输入 “linux single” 参数,即可进入单用户模式。
如果没有安装多重启动管理器,可以用系统启动盘引导。在 boot 提示符下输入 “linux single” 参数也可引导进入单用户模式。
如果没有系统启动盘,也可以在 DOS 环境下以 loadlin 程序引导进入单用户模式。如果主机上安装有 Windows 9x 系统,在 Windows 9x 启动时按 F8 可以进入 MS-DOS,如果没有安装 DOS 或 Windows 9x, 可以用 Windows 9x 安装光盘引导进入 DOS 环境,然后输入如下命令:
D:DOSUTILS>loadlin autobootvmlinuz root=/dev/hda5 ro single
即可引导进入 Linux 单用户模式(假设 D 盘是光盘驱动器,/dev/hda5 是 Linux 系统的根分区)。
软盘上的 Linux
把 Linux 系统做在一张或数张软盘上,以此软盘引导启动就能进入一个完全独立于硬盘的 Linux 系统。用 mount 命令加载硬盘上相应的分区,就能够对该分区上的文件进行读写和系统维护。软盘上的 Linux 体积虽小,但五脏俱全,而且功能还不少,不仅可以用于 Linux 的学习试用、系统维护等,也有人将它应用于防火墙、简单路由器管理等方面。
软盘上的 Linux 有很多种,大家可以到相关网站下载img 或 zip 等文件,并用 rawrite 等程序把它制作到软盘上。
下面是相关网站:
◆ Tomsrtbt(The most GNU/Linux on 1 floppy disk)www.toms.net/rb/
◆ HAL91 www.itm.tu-clausthal.de/?perle/hal91/
◆ LOAF(Linux on a floopy) www.ecks.org/projects/loaf/
◆ MuLinux linux/“>sunsite.dk/mulinux/
◆ Coyotelinux linux.com”>www.coyotelinux.com
◆ FloppyFW www.zelow.no/floppyfw/
◆ LinuxRouter lrp.steinkuehler.net
光盘上的 Linux
DemoLinux 是一个可以直接运行在光盘上的 Linux,不需要分区、安装等复杂的步骤,只需以 DemoLinux 安装光盘引导启动就能进入 Linux 环境,而且不会将 Linux 安装到硬盘上,完全独立于硬盘,
默认情况下它会自动检测硬盘上的分区,并且 mount 到相应的目录,例如设硬盘上 Linux 系统的根分区是 /dev/hda5,那么就可以进入 /mnt/hda5 目录去读写相关文件。
DemoLinux 对文件系统有着广泛的支持,不仅支持 Linux 系统要用到的 ext 文件系统,而且也支持 FAT、NTFS 等文件系统,所以,如果 Windows 系统发生故障,那么也能用 DemoLinux 引导启动后去读写 Windows 系统所在分区内的文件,从而修复 Windows 系统故障。
DemoLinux 发行的本意是为了推广 Linux,用于 Linux 演示,让初学者了解 Linux 的使用方法和体会它的强大功能,让软件开发商知道基于 Linux 的开发并不是一件复杂的事情。因为它的功能非常强大,在本人看来它也是 Linux 系统管理员要必备的工具盘。相关网站 linux.org“>www.demolinux.org。
在 DOS/Windows 下读写 Linux 文件
几乎所有版本的 DOS/Windows 都没有提供对 Linux 文件系统(如 ext2、ext3 文件系统等)的支持,但借助不少软件可以帮助实现这一点,如 FSDext2、ext2fsnt、ext2ifs、Ltools 和 Explore2fs 等,并且这些工具都是免费的。
在操作方式上,FSDext2、ext2fsnt 和 ext2ifs 以设备驱动的方式让 Windows 提供了对 ext2 文件系统的支持。把 Linux 上的 ext2 文件系统直接挂载到某个盘符上,对它的访问就相当于访问 Windows 上的某个盘符,这样就非常易于使用。ext2 tools、Ltools 和 Explore2fs 提供了命令或图形界面等的方式来访问 Linux 上的 ext2 文件系统。虽然这些工具说是用来提供访问 ext2 文件系统,但在本人实际使用中,大多数也支持最新的 ext3 文件系统。这些工具都非常易于安装使用,大家只要看一下它的操作界面或帮助说明就基本不成问题了。
如上所述,如果主机上安装有 DOS/Windows 和 Linux 等多操作系统,那么就可以在 DOS/Windows 系统下实现对 Linux 文件的读写,以便修复 Linux 系统故障。相关网站如下:
◆ LTOOLS 主页www.it.fht-esslingen.de/?zimmerma/software/ltools.html,有关 LTOOLS 更详细的介绍以及下载,支持 DOS 和所有版本的 Windows;
◆ EXT2 IFS 主页 linux/ext2ifs.htm”>uranus.it.swin.edu.au/?jn/linux/ext2ifs.htm,仅支持 Windows NT//XP;
◆ Ext2fsnt 主页 ashedel.chat.ru/ext2fsnt/,仅支持 Windows NT/2K/XP;
◆ Explore2fs 主页 linux/explore2fs.htm“>uranus.it.swin.edu.au/?jn/linux/explore2fs.htm,仅能读 ext2 分区,支持所有版本的 Windows;
◆ FSDext2 主页www.yipton.demon.co.uk/,仅能读 ext2 分区,仅支持 Windows 9x/ME;
◆ Filesystems-HOWTO 主页 www.tldp.org/HOWTO/Filesystems-HOWTO.html,有各文件系统的介绍,包括提供大量有关各系统间文件互访的资料和工具。
第二硬盘法
如果你的主机上既没有软驱、光驱、没有安装双操作系统,也没有安装 LILO、Grub 等多重启动管理器,导致以上方法都失效,那么除了在这台主机上增加软驱或光驱设备外,还可以把这台主机上的硬盘拆卸下来挂接到别的 Linux 主机上做为第二块硬盘,然后用 mount 命令加载第二块硬盘内相应的分区来达到读写这块硬盘内 Linux 文件的目的。
从上面可以看出,只要能在本地重新启动系统,那么即使没有超级用户的口令也能很轻易地去读写 Linux 文件,从而获取重要数据。所以,系统管理员有必要加强机房安全管理,以免重要数据失窃。
原文转自:www.ltesting.net
篇2:非 root 权限读写 Linux 文件的方法
用户在使用 Linux 系统时难免会出现口令遗失、配置错误、系统故障等问题,导致不能正常登录进自己的 Linux 系统,
非 root 权限读写 Linux 文件的方法
,
如果能够以其它的方式去读写 Linux 文件,对文件进行修改,则有可能恢复问题,至少也可以拷贝出重要文件,使重要数据不会被丢失。在此,有以下
篇3:Python读写文件方法总结
作者:adupt 字体:[增加 减小] 类型:
这篇文章主要介绍了Python读写文件方法,实例分析了Python读写文件常用的方法与使用技巧,需要的朋友可以参考下
本文实例总结了Python读写文件方法,分享给大家供大家参考。具体分析如下:
1.open
使用open打开文件后一定要记得调用文件对象的close方法。比如可以用try/finally语句来确保最后能关闭文件。
file_object = open(‘thefile.txt‘)try: all_the_text = file_object.read( )finally: file_object.close( )
注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。
2.读文件
读文本文件
input = open(‘data‘, ‘r‘)#第二个参数默认为rinput = open(‘data‘)
读二进制文件
代码如下:
input = open(‘data‘, ‘rb‘)
读取所有内容
file_object = open(‘thefile.txt‘)try: all_the_text = file_object.read( )finally: file_object.close( )
读固定字节
file_object = open(‘abinfile‘, ‘rb‘)try: while True: chunk = file_object.read(100) if not chunk:break do_something_with(chunk)finally: file_object.close( )
读每行
代码如下:
list_of_all_the_lines = file_object.readlines( )
如果文件是文本文件,还可以直接遍历文件对象获取每行:
for line in file_object: process line
3.写文件
写文本文件
代码如下:
utput = open(‘data‘, ‘w‘)
写二进制文件
代码如下:
utput = open(‘data‘, ‘wb‘)
追加写文件
代码如下:
utput = open(‘data‘, ‘w+‘)
写数据
file_object = open(‘thefile.txt‘, ‘w‘)file_object.write(all_the_text)file_object.close()
写入多行
代码如下:
file_object.writelines(list_of_text_strings)
注意,调用writelines写入多行在性能上会比使用write一次性写入要高。
在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为 2GB 的机器上处理一个 2GB 的日志文件,我们可能希望每次只处理其中 200MB 的内容。
在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。以下面的代码为例:
file = open(‘test.log‘, ‘r‘)sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - position < 0: position = file.tell() lines = file.readlines(sizehint)
每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候),
通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。
file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。在python中一切都是对象,file也不例外,file有file的方法和属性。下面先来看如何创建一个file对象:
file(name[, mode[, buffering]])
file()函数用于创建一个file对象,它有一个别名叫open(),可能更形象一些,它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。name是文件的名字。
mode是打开的模式,可选的值为r w a U,分别代表读(默认) 写 添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的系统中有不同模式,比如在 unix中是一个/n,而在windows中是‘/r/n‘,用U模式打开文件,就是支持所有的换行模式,也就说‘/r‘ ‘/n‘ ‘/r/n‘都可表示换行,会有一个tuple用来存贮这个文件中用到过的换行符。不过,虽说换行有多种模式,读到python中统一用/n代替。在模式字符的后面,还可以加上+ b t这两种标识,分别表示可以对文件同时进行读写操作和用二进制模式、文本模式(默认)打开文件。
buffering如果为0表示不进行缓冲;如果为1表示进行“行缓冲“;如果是一个大于1的数表示缓冲区的大小,应该是以字节为单位的。
file对象有自己的属性和方法。先来看看file的属性。
closed #标记文件是否已经关闭,由close()改写
encoding #文件编码
mode #打开模式
name #文件名
newlines #文件中用到的换行模式,是一个tuple
softspace #boolean型,一般为0,据说用于print
file的读写方法:
F.read([size]) #size为读取的长度,以byte为单位
F.readline([size])
#读一行,如果定义了size,有可能返回的只是一行的一部分
F.readlines([size])
#把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
F.write(str)
#把str写到文件中,write()并不会在str后加上一个换行符
F.writelines(seq)
#把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
file的其他方法:
F.close()
#关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError
F.flush()
#把缓冲区的内容写入硬盘
F.fileno()
#返回一个长整型的”文件标签“
F.isatty()
#文件是否是一个终端设备文件(unix系统中的)
F.tell()
#返回文件操作标记的当前位置,以文件的开头为原点
F.next()
#返回下一行,并将文件操作标记位移到下一行。把一个file用于for ... in file这样的语句时,就是调用next()函数来实现遍历的。
F.seek(offset[,whence])
#将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
F.truncate([size])
#把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。
希望本文所述对大家的Python程序设计有所帮助。
篇4:Linux 如何查看与修改文件读写权限linux操作系统
昨天有一个朋友问关于Linux修改文件读写权限的这个问题,下面我来给大家介绍关于在Linux 如何查看与修改文件读写权限吧,有需了解的同学可参考,
ls -l xxx.xxx (xxx.xxx是文件名)
那么就会出现相类似的信息,主要都是这些:
查看linux文件的权限:ls -l 文件名称
查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)
查看文件权限的相关参数
-rw-rw-r–
一共有10位数
其中: 最前面那个 – 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r– 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
现在该说说修改文件权限了
修改文件及文件夹权限:
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)
常用修改权限的命令:
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ————4
w ———–2
x ————1
- ————0
行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw——- (600) 只有所有者才有读和写的权限
-rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx—— (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
篇5:linux中vim保存root权限的文件linux操作系统
Linux中经常会遇到用vim编辑好了文件,保存的时候提示当前文件是只读的。
E45: 'readonly' option is set (add ! to override)
原因也很简单,因为用户对当前编辑的文件没有写入权限,一个可行的解决办法就是重新使用sudo命令打开这个文件重新进行编辑,但是这样做的话,之前的编辑工作就需要全部重来了,怎么样才能在忘记使用sudo vim编辑自己不可写的文件后,仍然可以正常写入文件呢?
vim的强大之处就体现出来了,下面的指令轻松搞定
:w !sudo tee %
下面是命令使用的情况
:w !sudo tee %
[sudo] password for xxxx:
...
...
...
Press ENTER or type command to continue
回车后会提示文件已经改变,按O或者L重新加载一下就好,
W12: Warning: File ”xxx“ has changed and the buffer was changed in Vim as well
See ”:help W12" for more info.
[O]K, (L)oad File:
命令解释
:w 是vim的写入命令
% 当前编辑的文件名
!sudo tee vim中调用shell命令都是以!开头的
整个命令就是:以root的身份运行tee命令,读取vim :w命令的输出作为标准输入,将其内容输出到标准输出设备,同时保存到%表示的文件中
★ 学习心得如何总结
★ php实习报告
★ Linux 查看目录大小及文件数量方法linux操作系统
【非 root 权限读写 Linux 文件的方法(精选5篇)】相关文章:
Linux下查看文件和文件夹大小命令linux操作系统2022-12-31
如何保障Unix系统安全Windows系统2023-07-25
Linux blockdev命令设置文件预读大小2023-02-21
SA239考前总结(14章)Windows系统2023-01-23
浅析设备驱动程序通知应用程序的几种方法2022-04-30
linux下kangle虚拟主机安装简明教程linux服务器应用2022-07-30
Linux中ftp不能上传文件/目录的解决办法linux操作系统2023-01-28
Linux chmod设置目录和文件不同权限linux操作系统2023-06-01
伪科学:Mysql system函数提权2022-06-23
Linux不完全手册2023-08-05