我是 Linux 新手,正在尝试在我的 Ubuntu 16.04 LTS 电脑上学习基础知识。
我面临的问题与授予其他用户文件权限有关。
基本上,我设立了两个用户账户-
-gaurav(主账户)
uid=1000(gaurav) gid=1000(gaurav) groups=1000(gaurav),27(sudo),1001(超级英雄)
-Ironman(练习账号)
uid=1001(钢铁侠)gid=1001(超级英雄)groups=1001(超级英雄),27(sudo)
我在 Ironman 的用户帐户 (/home/Ironman/) 中创建了一个随机文件“Automobiles.txt”,并赋予了以下权限:
chmod 774 汽车.txt
这通常应该授予“超级英雄”组中的用户查看和编辑的权限。但是,当我切换到主帐户时,我收到权限被拒绝的错误。
是的,在打开文件之前我确实从我的主帐户注销了。
我设法设置主帐户权限的唯一方法是授予 Ironman 帐户主文件夹的完整权限。
gaurav@Linux:~$ ls -l /home/
共 8
drwxr-xr-x 22 gaurav gaurav 4096 6月 8 23:46 gaurav
drwxrwxr-- 16 钢铁侠超级英雄 4096 6月8日 23:40 钢铁侠
这样,我现在可以查看和编辑文件。但这并不理想,我只想共享特定的文件和文件夹。
现在,即使我将文件 Automobiles 的权限设置为只读,我仍然可以从主帐户复制和编辑文件。
如果我做错了什么,你能告诉我吗?
我该如何修复此问题?
先感谢您。
答案1
一个好的做法(不仅限于 Linux 系统)是创建一个组和一个可供该组写入的文件夹。
例如,汽车迷组为carfans
,文件夹为,则/home/Carfans
相关用户帐户将被添加到该组,并获得该文件夹事实上的写权限。
sudo groupadd carfans
sudo mkdir /home/Carfans
# Apply filesystem security
sudo chgrp -R carfans /home/Carfans
sudo chmod -R 2775 /home/Carfans
## 2 turns on the setGID, created items inside the folder will inherit the same group
## 77 read write & execute for owner (root) and group (carfans)
## 5 read & execute for others (set 0 if no other allowed)
# Add the users to the group
sudo usermod -a -G carfans gaurav
sudo usermod -a -G carfans Ironman