ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux – 如何让用户创建目录,尽管不创建子目录

2019-08-17 02:51:33  阅读:320  来源: 互联网

标签:linux permissions directory privileges files


我正在尝试创建一个Bash shell脚本,允许将文件从Flash设备传输到用户将指定的存档.虽然我想限制此用户无法在此存档目录中创建任何子目录.

注意:从本质上讲,我希望用户创建/指定的归档目录是一个扁平的单级结构.

我没有第一个线索如何实现这一目标,并希望得到任何帮助.

解决方法:

没有任何本机机制可以轻松实现它. Linux的权限系统无法为创建文件和目录指定单独的权限,因为目录实际上是文件.但试试这样:

>使所有归档目录归一个(或几个不同的)用户所有,只为此目的而创建.让我们假设它的名称为archiveuser.
>让所有归档目录(我猜你有很多)归这个用户所有,in.ex.:

$chown archiveuser:archiveuser /somedir/archivedir1
$chown archiveuser:archiveuser /somedir/archivedir2
$chown archiveuser:archiveuser /somedir/archivedir3

>限制只能为所有者访问的存档目录的访问权限:

$chmod 700 /somedir/archivedir1
$chmod 700 /somedir/archivedir2
$chmod 700 /somedir/archivedir3

>使用sudo机制为存档目录提供cp命令访问权限:

添加到/ etc / sudoers:

someuser1 ALL=(archiveuser) NOPASSWD:/bin/cp /path/to/pendrive/* /somedir/archiveuser/*
someuser2 ALL=(archiveuser) NOPASSWD:/bin/cp /path/to/pendrive/* /somedir/archiveuser/*

当然,为应该被允许使用此命令的所有用户创建适当的组是很方便的.阅读sudo教程:-).
>就是这样.用户必须使用:

$sudo -u archiveuser cp /path/to/pendrive/somefile /somedir/archiveuser/ 

您可以创建一些别名以使其更方便使用(即别名cpt =’sudo -u archiveuser cp’).另请注意,在这种情况下,sudo不允许复制目录所需的cp -r.此外,权限还会阻止mkdir命令.这样你的目标就实现了.

标签:linux,permissions,directory,privileges,files
来源: https://codeday.me/bug/20190817/1673221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有