如何在Linux中管理文件和文件夹的权限

如何在Linux中管理文件和文件夹的权限,第1张

命令行:文件权限

改动文件权限和所有权的两个命令如下:

chmod - 更改权限

chown - 更改所有权

上面两个命令用起来都不难。不过你要明白,只有用户是当前所有者或根用户,才能够实际更改文件的权限或所有权,这一点很重要。所以,如果你是用户Bethany,要是不借助根权限(或sudo),就无法对用户Jacob拥有的文件和文件夹进行更改。比如说:

数据分区上创建了一个新的文件夹,名为/DATA/SHARE。Bethany和Jacob这两个用户都需要拥有读取和写入该文件夹的访问权限。有许多方法可以实现这一点(其中一个方法是,把两个用户加入到一个特殊的用户组――我们会在另一篇文章中探讨如何管理用户组)。如果Bethany和Jacob是系统上的唯一两个用户(而且你知道自己的网络很安全――这很重要),就可以更改该文件夹的权限,为他们授予访问权。为此,一个方法就是执行该命令。

sudo chmod -R ugo+rw /DATA/SHARE

上面这个命令的详细分解如下:

sudo - 这用于为使用sudo的任何系统上的命令获得管理员权限(不然你就得使用'su'以获得根权限,运行不带'sudo'的上面这个命令)

chmod - 改动权限的命令

-R - 这改动父文件夹及其里面子对象的权限

ugo+rw - 这为User(用户)、Group(用户组)及Other(其他对象)授予读取和写入访问权限。

你可能也猜测到了,这个命令完全开放了SHARE文件夹的权限,那样系统上的任何人都能访问该文件夹。正如我在前面提到的那样,一种更安全的方法就是使用用户组。但我们使用这种方法仅仅是为了演示。

权限的详细分解如下:

u - 用户

g - 用户组

o - 其他对象

"其他对象"这个条目是个危险的条目,因为它实际上为每个人赋予了文件夹/文件的权限。你为某文件或文件夹所能赋予的权限如下:

r - 读取

w- 写入

x - 执行

使用-R这个参数选项符很重要。如果你在SHARE目录里面有许多子文件夹和文件,又希望权限从父对象(包含文件夹)应用到子对象(子文件夹和文件),就必须使用-R(递归)这个参数选项符,那样同样的权限就可以一路应用到父文件夹里面包含的最深层文件夹。

命令行:文件所有权

更改文件或文件夹的所有权同样很简单。假设Jacob为Bethany把一个文件夹移入到SHARE目录里面,但是Jacob仍拥有所有权。只要借助一个简单的命令,就可以更改这个所有权:

sudo chown -R bethany /DATA/SHARE

让我们详细分解这个命令。

sudo - 必须用到管理员权限,因为我们所处理的是属于另一个用户的文件夹

chown - 更改所有权的命令·-R - 这个递归参数选项符确保所有子对象都获得同样的所有权变更。

bethany - 文件夹的新所有者

/DATA/SHARE - 所要修改的目录

要是Bethany将文件夹发回给Jacob,就需要再次更改所有权(如果使用用户组,同样可以简化这一步)。

GUI:用户权限

我准备在Ubuntu 13.10系统上,使用Nautilus文件管理器,演示如何更改文件权限。

假设你需要允许每个人都获得读取/写入文件夹TEST的权限。为此,在Nautilus文件管理器里面,采取下面这些步骤:

1.打开Nautilus

2.浏览至目标文件或目标文件夹

3.鼠标右击该文件或文件夹

4.选择Properties(属性)

5.点击Permissions(权限)选项卡

6.点击Others(其他)部分中的Access files(访问文件)

7.选择"Create and delete files"(创建并删除文件)

8.点击Change Permissions for Enclosed Files(更改所附文件的权限)

9.在随后d出的窗口中,选择Files(文件)下的Read and Write(读取和写入),选择Folders(文件夹)下的Create and delete files(创建并删除文件),见图A。

10.点击Change(更改)。

11.点击Close(关闭)。

如果你需要更改不属于你的文件夹的权限,戏法就会出现。可以实现这一幕,但必须在拥有管理员访问权的前提下启动Nautilus。为此,采取下面这些步骤:

1.打开终端窗口

2.执行命令sudo -i

3.执行命令nautilus

sudo -i命令为你赋予了持久访问sudo的权限,直到你输入exit命令,清除该访问权。一旦Nautilus打开,你可以更改文件夹或文件的权限,如上所述――即便你不是该文件夹或文件的所有者。

注意:如果你所使用的发行版并不使用sudo,就要把上述指令改成如下:

1.打开终端窗口

2.执行命令su

3.键入你的根密码,按回车键

4.执行命令nautilus。

在你完成这项任务之后,关闭Nautilus窗口,然后关闭终端窗口。

GUI:更改所有权

更改文件或文件夹的所有权常常需要使用管理员权限。所以为此,你需要采用上面介绍的方法来启动Nautilus。

想借助Nautilus更改文件夹或文件的所有权,请采取下面这些步骤:

1.在借助管理员权限打开的Nautilus窗口中,找到相应的文件夹或文件

2.鼠标右击该文件夹(或文件)

3.点击Permissions(权限)选项卡

4.从Owner(所有者)下拉框中选择新的所有者(见下图)

5.点击Close(关闭)。

就是这样。现在,你借助命令行或GUI,更改文件或文件夹的权限或所有权时应该不会有任何问题了。使用用户组让你可以更改权限和所有权,却拥有更强大的功能和更高的安全性――我们以后会介绍这方面。现在,请享受更改文件和文件夹的便利吧!

3.1Linux 文件系统类型

不同的 *** 作系统使用不同类型的文件系统,为了与其他的 *** 作系统兼容,以相互交换数据,

通常,每种 *** 作系统都支持多种类型的文件系统。

Linux 中保存数据的磁盘分区通常采用EXT2/EXT3 文件系统,而实现虚拟存储的swap 分区

采用swap 文件系统,同时Linux 内核支持十多种不同的文件系统。

1. EXT2 和EXT3 文件系统

EXT(Extended File System,扩展文件系统)是专为Linux 设计的文件系统。在Linux 发展

早起,起到重要中用,但在稳定性、速度和兼容性方面存在缺陷。

EXT2 是为解决EXT 系统存在的缺陷而设计的可扩展、高性能的文件系统。

EXT3 是EXT2 的增强版本,在EXT2 的基础上,增加了文件系统的日志管理功能。

EXT3 文件系统具有的特点:

(1) 高效性:当系统因为异常断电或系统崩溃,重新启动时不需要检查文件系统的一致

性,只需要根据文件系统的日志,快速检测并恢复文件系统到正常状态。

(2) 数据的完整性:可以保持数据域文件系统状态的高度一致性,避免意外关机对文件

系统造成的破坏。

(3) 数据的存取速度更快:EXT3 文件系统的日志功能对磁盘驱动器的读/写进行优化,

使读/写系统的速度更快。

(4) 数据易于转换

2. swap 文件系统

用于Linux 的交换分区。在Linux 中,使用整个交换分区来提供虚拟内存。

3. VFAT 文件系统

VFAT 是Linux 对DOS、Windows 系统下的FAT 文件系统的统称。

4. NFS 文件系统

NFS 即网络文件系统,用在UNIX 或Linux 系统间通过网络进行文件共享。

5. SMB 文件系统

SMB 是Samba 的缩写,是另一种网络文件系统,用于在Windows 和Linux 系统之间共享文

件和打印机。

6. ISO9660 文件系统

CD-ROM使用的标准文件系统。

此外,Linux 支持的文件系统还有minix、msdos、ncpfs、hpfs、umsdos 等。

3.2 Linux 的目录和文件

1.Linux 系统的目录结构

Linux 文件系统由文件和目录组成,文件是专门用来存储数据的对象,目录是一种用来组织

文件和其他目录的容器。Linux 和DOS、Windows 系统一样,使用树形目录结构来组织和管

理文件。

1. / 文件系统的入口,最高一级目录;

2. /bin 基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。

这个目录中的文件都是可执行的,一般的用户都可以使用。

3. /boot 包含Linux内核及系统引导程序所需要的文件,比如vmlinuz initrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

4. /dev 设备驱动程序文件存储目录,比如声卡、磁盘等,是Linux文件系统的一个闪亮的特性-所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等,它们代表系统主硬盘的不同分区。

5. /etc 存放系统程序或者一般工具的配置文件。

如安装了apache2之后,配置文件在/etc/apache2/目录下。

/etc/init.d这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。

6. /home 普通用户默认存放目录Linux是多用户环境,所以每一个用户都有一个只有自己可以访问的目录(当然管理员也可以访问)。它们以/home/username的方式存在。这个目录也保存一些应用对于这个用户的配置,比如IRC, X等。

7. /lib 库文件存放目录这里包含了系统程序所需要的所有共享库文件,类似于Windows的共享库DLL文件。

8. /var 这个目录的内容是经常变动,因为存储的文件,如数据库,数据文件大小是在不断的增大。

/var/log这是用来存放系统日志的目录。

/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

/var/log系统日志存放,分析日志要看这个目录的东西;

/var/spool打印机、邮件、代理服务器等假脱机目录;

9. /lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

Linux应该正确的关机。但有时你的系统也可能崩溃掉或突然断电使系统意外关机。那么启动的时候fsck将会进行长时间的文件系统检查。Fsck会检测并试图恢复所发现的'不正确的文件。被恢复的文件会放置在这个目录中。所恢复的文件也许并不完整或并不合理,但毕竟提供了一些恢复数据的机会。

10. /media 即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录 ;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom的目录。这个只有在最新的发行套件上才有. 10. /mnt /mnt这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。比如光驱可以挂载到/mnt/cdrom。

11. /opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure --prefix=/opt/,将软件安装到opt目录。

这个目录包含所有默认系统安装之外的软件和添加的包。

12. /proc *** 作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。

这是系统中极为特殊的一个目录,实际上任何分区上都不存在这个目录。它实际是个实时的、驻留在内存中的文件系统。

13. /root Linux超级权限用户root的家目录;

14. /sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令;

这个目录和

/usr/sbin/usr/X11R6/sbin或/usr/local/sbin目录是相似的; 我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

15. /tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

许多程序在这里建立lock文件和存储临时数据。有些系统会在启动或关机时清空此目录。

16. /usr 这个是系统存放程序的目录,比如命令、帮助文件等。

这个目录下有很多的文件和目录。

当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。

如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。


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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存