中易网

linux如何设置单个用户对目录的操作权限

答案:1  悬赏:10  
解决时间 2021-01-22 10:44
linux如何设置单个用户对目录的操作权限
最佳答案
linux设置用户权限:解读Linux文件权限的设置方法

   Windows系统其实和Linux系统有相似地方。Windows系统文件、目录属性有只读、隐藏而Linux也一样。
   Linux中每一个文件都具有特定属性,主要包括文件类型和文件权限两个方面。可以分为5种不同类型:普通文件、目录文件、链接文件、设备文件和管道文件。
   所谓文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:Access Control List)为计算机提供更好访问控制。它的作用是限制包括root用户在内所有用户对文件、资源或者套接字的访问。下面就来教大家简单设置方法。
   步骤1, 检查系统核心
   首先检查你Linux系统核心是否有支持ACL功能。Linux系统并不是每个版本核心都有支持ACL的功能,而最简单方法就是检查系统目前核心能否支持:
   [root@mail /]# cat /boot/config-kernel-version | grep -i ext3
   CONFIG_EXT3_FS=m    
   CONFIG_EXT3_IDEX=y  
   CONFIG_EXT3_FS_XATTR_SHARING=y    
   CONFIG_EXT3_FS_XATTR_USER=y    
   CONFIG_EXT3_FS_XATTR_TRUSTED=y    
   CONFIG_EXT3_FS_ACL=y
   此时如果能看到上面几项,则表示已经编译到核心中,ext3文件系统已支持ACL功能。这些功能在编译核心选项中都可以找到。如果编译时找不到可以到ACL网站来安装Kernel(acl.bestbits.at/)    
   步骤2 挂载分区
   你可以用下列方式挂载分区并启用ACL:
   #mount -t ext3 -o acl /dev/sda1 /fs1
   你也可以直接写在/etc/fstab文件中,这样就可以在开机后支持ACL功能:
   #vi /etc/fstab
   步骤3 设置ACL权限
   ACL常常针对个别用户来进行设置下面是多个不同例子:
   例如需要创建test1、test2、test3三个用户。可以先用root身份登录系统,然后执行以下命令分别创建三个用户名和密码:
   [root@mail root]#adduser test1  
   [root@mail root]#adduser test2  
   [root@mail root]#adduser test3  
   [root@mail root]#passwd test1
   [root@mail root]#passwd test2  
   [root@mail root]#passwd test3
   然后mount个ext3文件到目录/fs1:
   [root@mail root]#mount -t ext3 -o acl /dev/sda1 /fs1
   再将test1 建立文件设置读写权限给test2 :
   [root@mail root]#chmod -R 777 /fs1
   让所有用户都能增加文件到目录权限:
   先用test1登录系统执行命令:
   [test1@mail test1]# cd /fs1
   [test1@mail fs1]# echo "Create by test1" > test1.txt
   [test1@mail fs1]# chmod go-r test1.txt
   [test1@mail fs1]# ll test1.txt
   -rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt
   而如下操作则可以让除了test1有读写权限外其他人没有读写test1.txt权限(root除外)先用test2 登录系统后执行以下命令:
   [test2@mail test2]# cd /fs1
   [test2@mail fs1]# cat test1.txt
   cat : test1.txt Permission denied
   接着用test1登录系统执行如下命令:
   [test1@mail fs1]# facl -m u:test2:rw test1.txt
   这样就修改权限允许test2 有这个文件读写权限再看下它文件属性变化:
   [test1@mail fs1]# ll
   -rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt
   会看到后面多了个“+”表示这个文件使用ACL属性设置再用命令getfacl来看ACL文件属性设置:
   [test1@mail fs1]# getfacl test1.txt
   # file: test1.txt
   # owner: test1
   # group: test1
   user::rw-
   user:test2:rw-
   group::rw-
   mask::rw-
other::r--
可以看到 test2 有权限读写这个文件
   我们再用test2登录系统执行以下命令看看发生了什么?
   [test2@mail test2]# cd /fs1
   [test2@mail fs1]# cat test1.txt
Create by test1
   原来test2可以读取test1.txt文件了
   [test2@mail fs1]# echo "Mody by test2" >> test1.txt
   [test2@mail fs1]# cat test1.txt
   Create by test1
Mody by test2
现在test2也可以修改test1.txt文件了
   接着用test3 登录系统:
   [test3@mail test3]# cd /fs1
   [test3@mail fs1]# cat test1.txt
   cat : test1.txt Permission denied    嘿嘿除了test1、test2外没有其他用户有读写test1.txt权限(root 除外)
   看着虽然有点晕其实命令就是这么两条主要是把各种情况给大家讲清楚这样大家在使用Linux中才会发现比起脆弱Windows权限防护Linux实在是做得相当不错!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刀剑中如何实现人刀连招?如何升级?
7009铝板报价如何?
装修房子卫生间为什么要做二次排水
嘉兴火车站到嘉兴长途汽车西站怎么走谁知道?
想问问...重降C和重升D之前是啥音程?一个八
脖子皮肤痒
三,中,图,索,取,见,贤,栗,体,齐,思
何为怔忡?
卫生间在厨房上面在风水上有什么影响吗?
我十五岁第一乳牙未脱落,恒牙萌出,长在乳牙
二广高速和许广高速哪个路况好些
怀的宝宝是兔唇可以怀孕期间查出来吗?
冷热水混合器的国内外发展趋势!
fgo什么叫刚开服时的抽卡几率高
马鞍山皮肤科专家号、屁股上长了很多疙瘩。
推荐资讯
我家刚买回来的50天的小边牧,今天下午还是活
我公公去香港出差回来给孩子带了几罐智多建AA
ui设计师和网页设计师的工作内容各是什么?
怎样使电源电压不变使输出电流增大?
想问问大家墙面乳胶漆哪种环保
十大整体厨房是哪些?
面瘫后遗症有哪些表现?...
太田痣对身体有什么危害?
成都比较好的皮肤科?紧急。
电子电器包括哪些知道的说下
理生万物是唯心论还是唯物论
武汉三镇哪儿发展得最好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?