今天,我返回另一个提示,我个人使用了很多: 能够在Linux上的多个用户之间拥有共享目录。 我把它们放在一种情况下,因为我和妻子在家里,我们俩都使用同一台PC Arch Linux 但每个人都有自己的用户。 因此,我们注意到我们共享的那些文件夹(例如音乐或照片)存在问题,因为每个文件夹都有自己的文件,重复了一些事情。
那时我们想到 创建一个共享文件夹,但是存在权限问题。 如果该文件夹是我的,则看不到它,如果该文件是我创建的,则不删除它,依此类推。 最初,补丁是,每次我们编辑其他内容供他人访问之前,我们都会为这些文件赋予777权限,直到找到解决方案为止, 组权限!
什么是组权限?
那是最好的 为该共享目录及其所有内容分配一个具有读写权限的特殊组,该组的所有成员都可以使用该目录。 然后,通过仅将我们的用户添加到所述组中,我们就可以在该目录中进行交互。
以及如何配置呢?
这是最好的部分,我将继续告诉您我是如何与妻子一起做的。 首先是创建该目录,在本例中,我将其称为«共享«。
sudo mkdir /home/compartido
我在帐户的内部/家庭和外部创建它,以避免上层目录因其自己的权限而麻烦。 现在我们必须创建组,然后将其放入«共享»
sudo groupadd compartidos
然后,我们将该组分配给我们之前创建的目录,并更改权限,以便我们在其中创建的所有内容(无论是目录还是文件)也都属于该组。
sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname
另外,我们必须向其中添加用户。 然后,我们必须为每个命令重复此命令:
sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer
到目前为止,我们拥有目录«/主页/共享»属于该小组«共享«,具有相同访问权限的所有成员用户都可以访问,并且目录中创建的所有内容都将属于该组,而我们中的任何人都可以看到他们。
现在,我们只需要最后一个步骤,该步骤可能是可选的,但它是更改用户的umask,以确保我们创建的每个新文件都可被该组的其他成员修改。 这会影响整个用户,而不仅是目录,因此他们必须查看它是否对他们有用。 就我而言,因为只有我和我的妻子使用该系统,所以它不会打扰我们,我们给自己分配了umask 002,这意味着创建的每个文件都以775权限开头。
编辑umask
要编辑umask,在每个用户中,您都必须编辑位于用户家中的.profile或.bashrc文件,并按所需的数字修改umask的值。 如果该选项不存在,则必须添加它。
因此,在控制台中,我们输入:
sebastian@multivacs ~> vim .profile
我们将看到如下所示:
因此,我们转到显示umask的行,我们按字母 i 为了能够进行编辑,我们删除了#以删除评论。 我们将数字更改为002。如果没有出现该行,则必须添加它。
完成后,我们按键 ESC 退出编辑模式,然后我们写 :+q+w。 是什么使我们保存更改并退出Vi。
它看起来像这样的图像:
就是这样!如果他们关闭了用户会话并重新打开,则将进行更改,因此共享目录将起作用。
大提示。
和煦。
几年前,我发现自己需要这样做,我不知道是umask ...而是将任务放在crontab中🙂
谢谢你的提示
是的,crontab也很好。 您为将775权限分配给内容做了什么?
大提示....如果需要的话保存;)..
好的,您创建文件夹/ home / shared并为其分配“共享”组,但是
该文件夹属于哪个用户? 也就是说,谁是所有者? 我,其他人或由于我使用sudo而被禁用帐户的root用户?
另一方面,我发现自己遇到以下问题:他人无法删除我创建的文件,而他人无法删除自己创建的文件。
我做错了什么?
使用sudo创建文件夹时,应以root作为所有者。 您也可以使用chown命令对其进行修改,以分配其他用户。
另一方面,检查所创建的文件是否具有775权限(这赋予umask 002)。 如果他们没有这些权限,则可能是某些错误的设置。
同样,值得澄清的是,umask会影响目录中创建的每个新文件,但是如果它们移动或从另一个位置复制内容,则将保留原始权限,而不是我们设置给目录的权限。
嘿! 你是对的。
我一直在寻找,问题是由您说的最后一句话引起的:将文件从另一个位置移动到共享文件夹时,将保留原始权限。
有针对这个的解决方法吗?
我可以用珍珠。
在这种情况下,最好的办法是放置一个像KZKG ^ Gaara所说的crontab,在其中可以放置一个命令,以便每X次为文件夹内容分配组和权限。
就是说在crontab中是这样的:
sudo chgrp -R compartidos /home/compartido/*
chmod -R 775 /home/compartido/*
为了获得所有新功能,请转到权限为775的共享组。
忽略每行末尾的*号,我在考虑时会想到其他内容😛
谢谢你的朋友。
很好的帖子,但是我更喜欢有一个单独的分区,在其中可以放置所有想要共享的内容。 我有一个很大的500 GB磁盘,其中我在Linux上使用100GB,在其中包含所有音乐,照片等的400GB分区(ntfs)。在我的电脑上,我们有两个用户,每个用户都可以访问ntfs分区并在需要时放置和删除我们想要的东西。 如果我不想共享任何内容,则我的用户名中包含一些内容。 🙂
这已经是另一种实现方法,但是问题不在于文件放置位置,而是配置权限和控制不同用户的访问。
您可以将它放在NTFS分区上,这是正确的,但也有碎片,比EXT4慢,并且安全性较低,尽管以这种方式对您有好处,但它同样有效。
好的! 很好的提示,但我仍然会添加一个任务,以在每次登录时将新文件的权限更改为775,并解决文件从另一个文件夹移动的问题。
另外,非常感谢您的分享!
有趣,谢谢!
我正在提出一些与某些gnu / linux发行版的主要共享组有关的东西。 一些发行版使用主要组用户创建用户,而不使用与用户名相同的主要组。
区别在于,使用主组用户时,默认情况下,所有内容都与该发行版中创建的所有用户所属的组用户共享,如果使用与用户名相同的组来创建,则默认情况下不什么都不会共享。
例如:
$ ls -l /home/user/*.txt
-rw-r – r– 1 carlos carlos 126 25年2012月XNUMX日notes.txt
$ ls -l /home/user/*.txt
-rw-r – r– 1个carlos用户126 25年2012月XNUMX日
我不建议使用主要组用户,最好在创建用户时创建自己的主要组。
#groupadd卡洛斯
#useradd -g carlos -G lp,wheel,uucp,音频,cdrom,cdrw,usb,lpadmin,plugdev -m -s / bin / bash carlos
-g carlos表示使用父组carlos。
您可以使用#usermod -g更改用户的主要组,但不会更改/ home / carlos中已经存在的所有文件和文件夹的主要组,您必须全部更改。
示例:将主要组用户从用户carlos更改为主要组carlos,然后进行更改
用户carlos的所有文件和文件夹权限,以便他们保留为carlos carlos。
#groupadd卡洛斯
#usermod -g carlos用户
#cd /主页
#chown -R carlos:卡洛斯·卡洛斯
关于共享,您可以创建一个与共享主组共享的用户,这样在复制时不会出现权限问题,请先更改该用户
使用“ $ su-shared”,然后将您想要的内容复制到/ home / shared,这样,复制内容的权限将成为共享用户。
如果已经存在属于其他用户和主要组的复制文件,则必须全部更改它们。
#cd /主页
#chown -R共享:共享共享
边缘中只剩下一些东西,我不知道该如何以共享用户的身份进行图形复制,即不必执行$ su-shared
以图形方式进行复制是一件很愚蠢的事情,嘿,我在openbox中使用pcmanfm,但是您可以使用拥有或想要的文件管理器,它仅以共享用户的身份执行,而不是以root用户的身份执行。
$ su-共享
$pcmanfm
$海豚
$麦克
等等等等
我正要回答这个问题。 如果不是,则另一个是crontab,它每隔x次用a更改文件的所有者。
chown -R compartido:compartido compartido
在我看来,命令“ usermod -G thenewgroup elusuario”实际上是将用户的组更改为“ thenewgroup”。 要将现有用户添加到新组中,我认为正确的做法是“ usermod -aG elnuevogrupo elusuario”
另一件事是,我在这里看到有人建议使用“ chmod -R 775”,但这不仅会影响目录,还会影响所有文件(使它们可执行),这会带来不必要的风险。 最好做类似“查找/家庭/共享-type d -print0 | xargs -0 chmod 755“,如果需要,可以对文件进行类似的操作,但使用” -type f“并授予权限664。
最后,一种使多个帐户都可以访问文件或文件夹的方法,而不管所有者或组是谁,方法是使用acl软件包中的“ setfacl”命令(如果我没有记错的话)。 手册页上对它的用法进行了详细说明。
我有以下问题。 我已经创建了4个用户(web1,web2,web3,web4),并且我想为该Web组的用户创建一个访问组文件夹。 当我创建.htaccess文件时,我知道必须输入要求有效用户的密码,但是如果输入要求有效用户的密码,则当我尝试访问该文件夹时,他们才能使用密码访问该文件夹问我每个用户的用户名和密码,我如何只询问要输入的用户名和密码? 因为假定一个人不知道另一个人的密码。
嘿。
第四个终端应具有“共享”复数:
sudo usermod -G共享塞巴斯蒂安
sudo usermod -G分享了我的女人
问候。
古斯塔沃
干杯
我们正在从Windows Server迁移到CentOs 6,我们仍在适应过程中。 我的查询:CentO中是否有图形界面来共享文件夹并为用户提供修改,编辑和/或删除文件的权限?还是应该执行上述所有步骤。
谢谢您的帮助。
我也在安装centos 6,我想与samba一起使用它,使我可以从linux和Windows共享文件,我已经学到了一点,我使用的不是很多,但是在工作中有人问我如何共享文件夹,但处于图形模式??。
你好请帮助我!...事实证明,通过在Linux中以我的用户身份执行此操作,现在我失去了特权。 我不能像sudo一样运行。 我收到以下消息“对不起,用户”用户名“无权执行” command_to_run“以root用户身份登录”用户名“”
我认为,当我将用户更改为共享组时,我取消了特权,现在如何还原它们?
嘿,朋友有什么办法可以做,但是可以与Internet LAN上的其他人共享文件
为此,您必须将SAMBA用作文件服务器。 干杯
你好当我使用命令sudo chmod g + s dirname时,它告诉我该文件或目录不存在。 你知道是什么问题吗?
如何在另一个组中创建一个组?
该行:
sudo usermod -G共享的塞巴斯蒂安
应该:
sudo usermod -a -G共享塞巴斯蒂安
第一种方法是删除用户的其余组。
如果出汗了,就会失去特权