如何设置权限,以便我可以读写另一个分区?


15

我正在使用Ubuntu 12.04,我必须将分区part1和part2都分区为ext4。我想通过程序自由地与它们之间传输媒体文件。

Answers:


21

我将执行以下操作:

假设您同时安装了两个分区,分别使用名称part1和part2,那么您将是唯一使用它们的分区,并且希望完全自由地控制它们,我可以这样做:

sudo chmod 777 /media/part1 -这将在part1分区内为您提供所有权限(读取,写入,执行)。

sudo chmod 777 /media/part2 -这将在part2分区中为您提供所有权限(读取,写入,执行)。

权限(在这种情况下为777)如下:

7-完全(读取,写入和执行)
6-读取和写入
5-读取和执行
4-只读
3-写入和执行
2-仅写入
1-仅执行
0-无

前7个(从左开始)用于所有者,第二个用于所有者所在的组。后7个是其他组的。基本上像这样,您可以复制分区中所需的任何内容,如果您需要取出HDD并将其连接到具有Ubuntu的另一台计算机,则权限不会有任何问题。至少就我而言,这节省了我的时间,因为我倾向于使用1或2个硬盘来保存电影,音乐和类似内容,并且将它们从PC转移到PC。

只是要添加,如果您不知道分区的安装位置,则可以随时打开“ 磁盘工具”,并且在有关硬盘驱动器的信息中它将告诉您分区的安装位置。请记住,您需要在挂载分区后将其应用于分区。


我总是避免使用777之类的模式,主要是因为由于终端颜色会提醒您它可被世界写入,所以通常很难阅读。如果他是唯一的用户,则使用755可以完成相同的操作,并且使用正常的颜色更易于阅读
Marty Fried

我同意你的这个观点。特别是文件夹。
路易斯·阿尔瓦拉多

1
当您只能将权限授予chown当前用户时,为什么还要更改权限呢?
13年

嗨,原因是我在所有情况下都尝试过,实际上并没有赋予所需的权限。它确实将所有者更改为当前所有者,但文件和文件夹仍然具有错误的权限,因此用户无法写入该单元。
Luis Alvarado

8

与其更改所有文件权限(如Luis Alvarado建议的那样),不如更改文件所有者-最好将可执行文件保留在以前拥有它的任何二进制和脚本文件中。

因此,假设您的分区挂载为/ media / something并且您的用户名是johndoe,则可以运行

sudo chown -R johndoe:johndoe /media/something

/ media / something(及其包含的所有文件和目录,因此,-R表示“递归”)的所有者和所有者组更改为 johndoe

这样,所有文件都将保留其权限,但是由于您将是/ media / something的所有者,因此您可以写该文件并更改任何文件权限,以备不时之需。


0

您应该能够从nautilus(Ubuntu的默认文件管理器)挂载分区。如果您查看窗口的左上角,则应该能够看到驱动器上的所有分区。只需单击一个即可安装。

但是,如果希望始终在启动时挂载给定目录,则需要将其添加到中/etc/fstab。您将添加的行应类似于:

/dev/sda2 /media/part1 ext4 defaults 0 0

格式为

device (tab) mount point (tab) type (in your case ext4) (tab) options (probably "defaults") (tab) dump (tab) pass (probably both 0 in your case)

因此,基本上从示例中将/ dev / sda2替换为设备,将/ media / part1替换为安装点。

如果您需要更多信息来编辑/ etc / fstab,可以查看我发现的这篇文章:http : //www.tuxfiles.org/linuxhelp/fstab.html


0

您通常已经可以执行此操作,但是我的建议是将分区添加到其中,/etc/fstab以便它们稳定并具有您选择的位置。您可以将它们挂载在任何现有目录中,但惯例似乎是将其挂载在/mnt。为此,请按照下列步骤操作:

在下面创建目录/mnt;目录可以是您选择的任何名称。我将仅以“ MyMount1”和“ MyMount2”为例。另外,我将使用“ mylogin”代表您的登录名和组;将其更改为您的登录帐户名称。

sudo mkdir /mnt/MyMount1
sudo mkdir /mnt/MyMount2
sudo chown mylogin:mylogin /mnt/MyMount1
sudo chown mylogin:mylogin /mnt/MyMount1

现在,您已经创建了两个目录,您是所有者。

您需要两个驱动器的UUID(通用唯一标识符)在fstab文件中进行标识。要获取这些,运行sudo blkid从终端命令行,然后找到要使用的分区。使用它们的最简单方法是将其从终端复制并粘贴到文件中。

/etc/fstab使用文本编辑器(如gedit)打开。要使用gedit,请输入

gksu gedit /etc/fstab

然后,在文件末尾输入这两行(但用UUID代替xxx ....部分,并用MyMounts的目录名):

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/MyMount1 ext4 defaults 0 2
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/MyMount2 ext4 defaults 0 2

为了测试,保存文件,并在终端命令行输入:sudo mount -a; 如果有您无法理解的错误,请在此处询问。如果出现错误并且需要重新启动,最安全的方法是先在行前面加上井号(#),以使其成为注释,以禁用添加的行。


那么命令“ sudo mount / a”的输出应该是什么?我的输出是“ mount:在/ etc / fstab或/ etc / mtab中找不到/ a”。
user73466

抱歉,我不知道该怎么做,但是我的意思是“ -a”,而不是“ / a”。这只是意味着将所有内容都挂载到fstab中,并且是测试错误的好方法。我会改正我的帖子。
马蒂·弗里德

0

我遇到了同样的问题,并通过以root身份运行nautilus,右键单击分区,属性并更改了权限(如果需要,可以更改所有者)来解决此问题。

如果未安装鹦鹉螺:

sudo apt-get nautilus

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.