用户组对文件夹的访问权限如何设置?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
54nb
帖子: 20
注册时间: 2006-08-04 7:20

用户组对文件夹的访问权限如何设置?

#1

帖子 54nb » 2010-12-18 12:40

OS:Ubuntu Server
用户组:dev 组ID:9527
用户:zhang
-----------------------------
允许dev组 对 /home/src 只有只读权限
允许dev组 对 /home/build 有读写和运行的权限
禁止dev组的用户使用系统命令:
ls
rm
kill
cd
请问如何做呢?
:em06
头像
hiphen
帖子: 803
注册时间: 2010-08-27 15:53

Re: 用户组对文件夹的访问权限如何设置?

#2

帖子 hiphen » 2010-12-18 17:27

1.
chgrp -R dev /home/src
chmod -R 750 /home/src

2.
chgrp -R dev /home/build
chmod -R 770 /home/build

3.
至于禁止使用嘛,,那个设定有点麻烦,知道的童鞋说一下,
建议lz到CU搜索一下关键字“限制使用命令”
解决后回来share经验
基础问题,请看入门手册http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/

Acer aspire 4736G / Ubuntu 10.04LTS
Asus eeepc900 / Xandros
Nokia N900 / Maemo 1.2.12
头像
hiphen
帖子: 803
注册时间: 2010-08-27 15:53

Re: 用户组对文件夹的访问权限如何设置?

#3

帖子 hiphen » 2010-12-18 17:39

Actually, ACL才是你作为团队文件夹使用的最好选择,
不过这个语法有点复杂,并且ubuntu的文件系统默认没有支持ACL,如果没有太复杂要求,使用group来限定好了

对于限制使用命令,不给力的建议是使用chroot吧,
貌似pam_console模块也可以实现,不过没详细研究


等着lz回来share经验
基础问题,请看入门手册http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/

Acer aspire 4736G / Ubuntu 10.04LTS
Asus eeepc900 / Xandros
Nokia N900 / Maemo 1.2.12
54nb
帖子: 20
注册时间: 2006-08-04 7:20

Re: 用户组对文件夹的访问权限如何设置?

#4

帖子 54nb » 2010-12-18 17:46

感谢楼上的回答。经过研究。
屏蔽某用户shell的内建函数:
我们在此用户登陆的配置文件中/home/User/.bash_profile ,用enable -n commandname 的方式就可以屏蔽掉。
如:
enable -n let
enable -n local
enable -n logout
enable -n popd
enable -n printf
enable -n pushd
enable -n pwd
enable -n read
enable -n readonly
enable -n return
enable -n ls
enable -n kill
enable -n killall
enable -n find
enable -n echo
enable -n enable 这句必须在结尾。否则不生效。

补充,当然还有一些 alias 是在 /etc/bashrc 文件中定义,想要屏蔽当然要删除掉

还有/etc/profile.d/这里面也有,have a look。

9。还有一些shell 编程的结构语句,还没有找到办法屏蔽。例如: for,;

等,差不多了。这个用户是世界上最郁闷的了。
头像
hiphen
帖子: 803
注册时间: 2010-08-27 15:53

Re: 用户组对文件夹的访问权限如何设置?

#5

帖子 hiphen » 2010-12-18 18:02

但是这样,此用户不会编辑自己的.bash_profile文件从而打开权限么?
基础问题,请看入门手册http://people.ubuntu.com/~happyaron/udc-cn/lucid-html/

Acer aspire 4736G / Ubuntu 10.04LTS
Asus eeepc900 / Xandros
Nokia N900 / Maemo 1.2.12
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 用户组对文件夹的访问权限如何设置?

#6

帖子 astolia » 2010-12-18 19:35

acl的语法并不复杂,要启用也只需要给mount加个参数而已
安装:
sudo apt-get install acl

启用:
编辑/etc/fstab,在目标分区的挂载参数中添加一个acl
或者临时性的
sudo mount -o acl,remount /dev/sdaX

设置:
setfacl -m group:dev:0 /bin/ls
就取消了dev组用户对/bin/ls的所有权限(/bin/ls的组不是dev的情况下),其中的0也可以是rwx这种形式

另外,enable只对shell内建命令有效,你上面写出的kill/killall/find/echo都是外部命令,enable管不了。
如果真想限制的话,最好选用受限shell作为用户的登录shell,bash -r或rssh之类的,否则很容易绕过去。
或者狠一点搞个chroot
回复