权限管理

  • CentOS 6下的NFS文件共享服务搭建教程

    ·

    介绍: nfs是网络文件系统。类似于samba,但不支持身份认证,只能通过ip地址来鉴别客户端。 起初只可用于linux/unix系统,后来windows也可以使用nfs了。 安装软件: [root@localhost ~]# yum install nfs-utils 配置服务: nfs默认的配置文件为/etc/exports,若不存在此文件请手动创建。 编辑配置文件 [root@localhost ~]# vim /etc/exports 向其中添加文件共享,一条一行,格式: 要共享的文件夹 允许访问的主机(访问权限) 允许访问的主机2(访问权限)……….允许访问的主机N(访问权限)….. 允许访问的主机可以用IP来指定也可以用网段、主机名(NetBIOS需正常解析),支持通配符,需要注意的是——通配符只能用在主机名上,不可用于ip。 例如: 关于访问权限的详细解释如下(此处摘录自《鸟哥的Linux私房菜——服务器架设篇(第三版)》): 编辑完配置文件后启动服务即可,在正式启动nfs服务前还需要把rpcbind这个服务给启动了(已启动则略过),否则nfs无法启动。rpcbind服务主要是负责在nfs共享时候告诉客户端服务器的nfs端口号的。 [root@localhost ~]# service rpcbind start [root@localhost ~]# service nfs start 修改共享配置文件后既可以通过重启服务使配置生效也可以通过如下命令使配置立即生效: [root@localhost ~]# exportfs -arv 查看当前NFS共享的目录。 [root@localhost ~]# showmount -e     //若仅查看已被客户端挂载的目录则使用-d参数替换-e参数。 目录及文件的权限管理: nfs服务器设置目录及文件的用户权限在实际生产环境中没有多大意义,因为客户机和服务器上的用户虽然用户名是相同的,但UID可能不同,而NFS是通过UID来区别用户的,那就会产生问题啦!而且,就算在服务器上对NFS共享中的某一个目录设置了所有者,那客户端上其实只要把随便一个用户的UID改成和目录所有者的UID相同,就可以具有所有者的权限啦,所以说,为NFS共享中的目录及文件设置权限是完全没有意义的事情。 客户端挂载及卸载nfs: 参考此篇文章。 CentOS 6下挂载NFS共享的方法

    Read More

  • CentOS 6下超实用的samba配置教程

    ·

    介绍: samba是在linux/unix上实现SMB协议的免费软件,通俗来说就是让linux/unix支持与windows间互相共享文件。 安装软件包: yum install -y samba samba配置文件介绍 samba配置文件的存放路径为 /etc/samba/ 该目录下有以下三个文件: lmhosts文件中记录着局域网中NetBIOS与IP地址的对应关系 smb.conf是samba的主配置文件,其内容由全局配置部分和共享配置部分组成。 smbusers文件记录着windowns中用户与linux中用户的对应关系,例如windows中的administrator管理员账户对应linux下的root用户。 samba的配置: 在开始配置前,首先明确下需求: 1、user11和user12用户可以通过samba共享来访问自己的家目录,且此共享仅本人可见。 2、创建三个共享,分别为share1、share2、share3,其共享的本地文件夹分别为/tmp/a1、/tmp/a2、/tmp/a3。 3、group1组的用户user1对share1共享有全部权限,group2组的用户user2对share2有全部权限,group3组的用户user3对share1和share2共享都有全部权限;对于share1和share2共享其他人有只读权限;share3为公共存储,所有人都有存取权。 4、所用用户新建的文件都是本人拥有全部权限,其他人只有只读权限。 知道了需求,那么现在就来根据需求来做具体配置吧: vim /etc/samba/smb.conf //使用vim文本编辑器打开配置文件 转到第248行,可以看到如下内容,看开头一行,[homes],home是家的意思,加s呢,变成复数了,可以理解成所有用户的家,哈哈,感觉我像是在讲英语。总之,通过配置此部分就可以满足需求1了。 comment选项是用来添加一个文本描述的。 browseable选项定义他人是否可以看到此共享,yes为可以,no为不可以(仅自己可见)。 writable选项用来定义共享是否可写。 valid users选项定义该共享规则对哪些用户启用。 看显而易见,我们只要设置valid users选项,让此共享配置仅对user11和user12用户生效即可满足需求1。 再来看需求2,新建三个共享,这个怎么破?其实很简单啦,配置文件里已经写好了现成的,我们只需要复制成三份就好。 转到配置文件的末尾,可以看到以[public]关键字开头的配置部分,这就是配置共享的模板。 复制前需要注意,这部分配置文件默认被注释掉了,如果你不想在复制完去一点点的删除三份注释符号的话那最好在复制之前把这一份注释符号删掉,如下图: 三个共享有了,但他们的配置文件是一摸一样的,那共享名和共享的文件夹一定也是一样的,要如何为每一个共享做定制呢? 先看这部分配置文件的简单介绍: 开头的[public]是共享名,可任意起,与实际的共享文件夹可以不同名。 comment是没用的文本介绍。 path是指定要共享的本地文件夹的路径。 public是用来指定是否共享的,有yes和no两个选项,至于这两个选项分别是啥意思我就不啰嗦了。 writable用于配置此共享是否支持写入。 printable指定是否支持打印,没有特殊需求的话这里都保持注释状态。 write list此选项用于决定哪些用户或组对此共享拥有写入权限,此处一般保持注释就好,因为linux的权限管理可比samba的好用多了。 以下是按照需求2修改过的配置文件,修改部分已经用红笔标出来了,对照上方配置选项的解释就可以轻松理解下图的配置内容了。 权限配置部分: 下面来看需求3,很明显这里是需要做权限控制了。但我不得不唠叨一下,samba自带的权限管理配置起来那是相当的蛋疼,而且功能弱爆了。所以这里我们使用linux系统权限管理加ACL来做权限控制。 关于ACL的介绍可以参考: linux下acl权限详解 在配置权限前,我们先把所需要的用户与组都创建完,并把他们加入到samba用户数据库中,再把要共享的文件夹都创建出来。 新建用户: useradd user11 useradd…

    Read More

  • linux下acl权限详解

    ·

    安装软件包 yum install -y acl 配置acl权限 用于acl权限管理的命令主要有两个: setfacl          //设置acl权限 getfacl         //查看acl权 首先来看setfacl 常用参数: -b:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。 -d:设定默认的acl规则 -R:递归的对所有文件及目录进行操作。 -m:修改文件或目录的acl规则。 -x:删除指定acl规则。 以上只列出常用参数,详细命令帮助可参考:http://man.linuxde.net/setfacl 举个例子:想让user1这个用户对~/test目录拥有全部权限,除了修改所有者或所属组之外还能怎样呢? 且往下看。 setfacl -Rm u:user1:rwx ~/test //使user1用户对test目录拥有全部权限。 执行以上命令后user1用户即可任意操作~/test目录。 来看一下这条命令,setfacl,设置acl权限、参数R代表递归应用,m修改权限、u代表用户,如果想赋予某个组acl权限就用g,:后边接的要赋予acl权限的用户名或组名(不填则修改所有者或所属组的acl权限),紧接着下一个冒号后面跟的就是要赋予这个用户的权限了、最后接要操作的目录或文件名,就这么简单。 再来看一个例子: setfacl -m d:u::rwx ~/test //为test目录下新建的文件或目录设置默认acl权限,对所有用户生效 如果写成这样: setfacl -m d:u:user1:rwx ~/test 这条命令执行后可以达到什么目的呢?我猜,聪明的读者一定猜到了:是给user1创建的文件或目录设置默认acl权限。 如果你是这样想的,那么恭喜你,猜错了。 这条命令实际的意义其实是给所有用户创建的文件或目录都加上user1这个用户的rwx的acl权限~ 最后再来看下如何删除acl权限 setfacl -x d:u:user1 ~/test //删除~/test目录中关于user1的默认acl权限…

    Read More

  • linux中root用户无法删除某个文件的解决方法

    ·

    root用户登录,删除文件: rm -f  a.txt 删除不了,提示: rm: cannot remove ‘a.txt’: Opreation not permitted 查看权限: ls -l a.txt -rwxr–r– a.txt root root 发现root 用户 有执行文件的权限 再使用 lsattr   命令查看权限: lsattr a.txt —i———— a.txt 发现有一个 i 权限,百度查看此权限,发现 I 权限如下: 不能被删除、改名、设定连结、写入或新增数据; 使用   命令撤销 i 权限: chattr -i a.txt 再查看: lsattr a.txt ————— a.txt 此时再删除: rm -f  a.txt 删除成功。 本文来源:http://blog.csdn.net/ye1142262478/article/details/51152228

    Read More