如何向我的当前用户授予权限

如何向我的当前用户授予权限

所以基本上我希望能够使用 stfp 写入数据,但当我使用它时。它说权限被拒绝。我希望能够在这个目录中执行此操作,/home/user因此当我使用ls -l命令时,它有以下输出

total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2

我如何才能看到谁是这个目录的所有者。我知道我可以使用此命令chmod a+rw user 为每个人授予读写权限,但我只想将其授予一个用户。系统中只有一个用户,但我将来可能会创建更多用户。我想了解所有者和组的概念。其他问题:- 如何查看有哪些组。如何创建组以及如何将用户添加到该组。

答案1

非常好且正确的答案韋茲

唯一可以改进的是实际的例子(尽管这是暗示)。由于我可能还没有发表评论(声誉点数不足),因此我不得不写一个额外的答案来提供例子。

简化命令语法:

sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>

对于以下示例,这些是参数

  • 用户名:杰克
  • 登录组名称:定时器
  • 团队名字:账户
  • 文件名:
  • 目录名称:客户

该文件存在于目录中名为共享的foo系统上。serverdataclientsIE //sever/data/clients/foo

示例:更改文件所有权

1. admin@server:/data$ sudo chown jack clients/foo  
2. admin@server:/data$ sudo chown jack: clients/foo  
3. admin@server:/data$ sudo chown jack:accounts clients/foo  
  1. 更改所有者文件命名foo杰克
  2. 更改所有者文件命名foo杰克和组定时器。杰克是登录组命名定时器. 在此示例中登录组暗示使用:所有者姓名后
  3. 更改所有者文件命名foo杰克并分组至accounts

示例:更改目录所有权

4. **admin@server:/data$** sudo chown jack clients  
5. admin@server:/data$ sudo chown jack: clients  
6. admin@server:/data$ sudo chown jack:accounts client  
7. admin@server:/data$ sudo chown -R jack:accounts client  
  1. 更改所有者目录命名clients杰克
  2. 更改所有者目录命名clients杰克和组定时器
  3. 更改所有者目录命名clients杰克并分组至accounts
  4. 更改所有者目录以及目录中的所有clients文件杰克并分组至accounts

如需更多帮助,请参阅:

chown --help  
man chown
info chown

答案2

在您的ls -l输出中,第 3 列和第 4 列分别是用户(所有者)和组(所有者),因此您的文件夹都归 root 拥有。

如果您运行chmod +006 yourfile,这将授予所有用户对 的读写权限yourfile。在本例中,root拥有该文件夹,因此您需要使用sudo(或其他方法以 root 身份发出命令)。如果您只希望单个用户或少数用户具有访问权限,则可以使用chown userowner[:groupowner](使用sudo)使该用户或组成为该文件的所有者,并使用chmod +600授予所有者读写权限,chmod +060授予组所有者读写权限。

要列出当前用户所属的组,请使用groups username。要列出所有组,您可以使用cat /etc/groupgetent group也有效。

要创建新组,请使用groupadd

要将用户添加到组,请使用usermod -Ga groupname username。如果不使用标志-a,则用户username将从所有当前组中删除,并且仅存在于新组中groupname

相关内容