centos 组权限?centos如何安装软件
大家好,感谢邀请,今天来为大家分享一下centos 组权限的问题,以及和centos如何安装软件的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
CentOS下ACL权限控制详解
ACL权限控制
设置ACL权限:setfacl
查看ACL权限:getfacl
ACL权限控制主要目的是提供传统的owner,group,other的read,wirte,execute权限之外的具体权限设置,可以针对单一用户或组来设置特定的权限
比如:某一目录权限为
drwx------ 2 root root 4096 03-10 13:51./acldir
用户user对此目录无任何权限因此无法进入此目录,ACL可单独为用户user设置这个目录的权限,使其可以操作这个目录
ACL启动
要使用ACL必须要有文件系统支持才行,目前绝大多数的文件系统都会支持,EXT3文件系统默认启动ACL的
查看文件系统是否支持ACL
[root@localhost tmp]#
dumpe2fs-h/dev/sda2 dumpe2fs 1.39(29-May-2006)
……
sparse_super large_file
Default mount options: user_xattr acl
加载ACL功能
如果UNIX LIKE支持ACL但是文件系统并不是默认加载此功能,可自己进行添加
[root@localhost tmp]# mount-o remount,acl/
[root@localhost tmp]# mount
/dev/sda2 on/ type ext3(rw,acl)
同样也可以修改磁盘挂在配置文件设置默认开机加载
[root@localhost tmp]# vi/etc/fstab
LABEL=// ext3 defaults,acl 1 1
查看ACL权限
语法:getfacl filename
设置ACL权限
语法:setfacl [-bkRd] [-m|-x acl参数]目标文件名
选项与参数:
-m:设置后续的acl参数,不可与-x一起使用
-x:删除后续的acl参数,不可与-m一起使用
-b:删除所有的acl参数
-k:删除默认的acl参数
-R:递归设置acl参数
-d:设置默认acl参数,只对目录有效
针对特殊用户
设置格式:u:用户账号列表:权限
权限:rwx的组合形式
如用户列表为空,代表设置当前文件所有者权限
举例:
[root@localhost tmp]# mkdir-m 700./acldir; ll-d./acldir
drwx------ 2 root root 4096 03-10 13:51./acldir
[root@localhost tmp]# su tkf
[tkf@localhost tmp]$ cd./acldir/
bash: cd:./acldir/:权限不够=用户无X权限
[tkf@localhost tmp]$ exit
exit
[root@localhost tmp]# setfacl-m u:tkf:x./acldir/
=针对用户tkf设置acldir目录的权限为x
[root@localhost tmp]# ll-d./acldir/
drwx--x---+ 2 root root 4096 03-10 13:51./acldir/
=通过ACL添加权限在权限末尾会增加多个一个“+”同时文件原本权限也发生变化。
=可通过getfacl查看原始目录权限
[root@localhost tmp]# getfacl./acldir/
# file: acldir
# owner: root
# group: root
user::rwx
user:tkf:--x=记录tkf用户针对此目录有acl权限
group::---
mask::--x
other::---
=这里需要特殊说明,只是tkf这个用户具有X权限,其他用户还是无权限的
[root@localhost tmp]# su tkf
[tkf@localhost tmp]$ cd./acldir/
[tkf@localhost acldir]$
=用户tkf可以具有x权限可以进入目录
针对特定用户组
设置格式:g:用户组列表:权限
权限:rwx的组合形式
如用户组列表为空,代表设置当前文件所属用户组权限
举例:
[root@localhost tmp]# setfa
setfacl setfattr
[root@localhost tmp]# setfacl-m g:users:rx./acldir/
[root@localhost tmp]# getfacl./acldir/
# file: acldir
# owner: root
# group: root
user::rwx
user:tkf:--x
group::---=其他用户组(非acl设置)的权限
group:users:r-x=记录users用户组针对此目录有acl权限
mask::r-x
other::---
针对有效权限设置
有效权限(mask)就是acl权限设置的极限值,也就是你所设置的acl权限一定是mask的一个子集,如果超出mask范围会将超出的权限去掉
设置格式:m:权限
权限:rwx的组合形式
举例:
[root@localhost tmp]# setfacl-m m:x./acldir/
[root@localhost tmp]# getfacl./acldir/
# file: acldir
# owner: root
# group: root
user::rwx
user:tkf:--x
group::r-x#effective:--x
group:users:r-x#effective:--x
mask::--x
other::---
针对默认权限设置
我们前面都是针对一个目录为一个用户(组)设置特定权限,但是如果这个目录下在新创建的文件是不具有这些针对这个用户的特定权限的。为了解决这个问题,就需要设置默认acl权限,使这个目录下新创建的文件有和目录相同的ACL特定权限
设置格式:d:[u|g]:用户(组)列表:权限
举例
[root@localhost tmp]# mkdir-m 711./defdir
[root@localhost tmp]# setfacl-m u:tkf:rxw./defdir
[root@localhost tmp]# ll-d./defdir/
drwxrwx--x+ 2 root root 4096 03-10 15:23./defdir/
=目录权限具有acl特定权限(后面+)
[root@localhost tmp]# touch./defdir/a.file;ll./defdir/
-rw-r--r-- 1 root root 0 03-10 15:25 a.file
=新创建的文件不具有acl特定权限(后面无+)
[root@localhost tmp]# setfacl-m d:u:tkf:rxw./defdir
=设置默认权限
[root@localhost tmp]
# getfacl./defdir/
# file: defdir
# owner: root
# group: root
user::rwx
user:tkf:rwx
group::--x
mask::rwx
other::--x
default:user::rwx
default:user:tkf:rwx
default:group::--x
default:mask::rwx
default:other::--x
[root@localhost tmp]# touch./defdir/b.file;ll./defdir/
-rw-r--r-- 1 root root 0 03-10 15:25 a.file
-rw-rw----+ 1 root root 0 03-10 15:26 b.file
=新创建文件默认带有acl特定权限
[root@localhost tmp]
# getfacl./defdir/b.file
# file: defdir/b.file
# owner: root
# group: root
user::rw- user:tkf:rwx#effective:rw-
group::--x#effective:---
mask::rw-
other::---
=这快我有个疑问,为什么mask值是rw,我猜测和文件最大权限有关,
=对于文件来时默认最大权限是666即UMASK为0000.那个对于可执行文件来说
=没有X,难道还需要使用chmod设置?疑问!!
linux中多用户以及权限的理解
linux操作系统是多用户管理系统,管理起来非常麻烦,所以用组的概念来管理用户就变的简单多了,一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。
linux的多用户多分组管理系统都是针对文件来说的,每个文件都有所属的用户和所属的分组。
linux系统是根据用户UID来识别用户的,并不是根据用户名。linux用户分为以下3种
每行数据为一个用户,可以看到红色部分为root超级用户,蓝色部分为系统用户,绿色部分为普通用户。
我们可以看到该文件属于root用户和root组。然后root用户权限是rw-,root组内成员的权限是r--,而其他用户的权限是r--。由于其他用户的权限都是r--,所以任何用户都是可以读的。
在/etc/group文件中存储着系统的所有组,查看文件内容,如下图
大致分为4段
我们可以看到图中mail分组的第4段有值为postfix,也就是postfix用户应该有俩个分组,一个初始组和一个附属组,我们执行以下命令验证
用户密码文件shadow和组密码文件gshadow的权限都是000,所有其他用户是不能查看的,只有root用户才可以查看,root用户也是不能修改该文件的。
使用 whoami命令查看。
postfix用户有俩个所属组postfix和mail。由此可见, uid是指用户id(用户名称),gid是指初始组id(初始组名称),groups是指包括初始组在内的所有组id(所有组名称)
我们知道了/etc/group文件的第四段为组内成员,所有我们可以通过 grep来匹配相关组。比如查询mail组内的所有成员,命令如下,可以看到mail组内有mail,postfix和tom3个用户。
上面是一种方法,我们也可以直接使用命令来查看。
添加用户只能root用户来添加,普通用户没有权限,添加用户有俩种方式
在centos系统下,这俩种方式没有区别,都会在/home下自动创建与用户名同名的用户目录,且都是需要使用 passwd userName命令来设置用户密码的,只有设置完密码后才可以正常登录。
在unbantu系统下,这俩种方式是有区别的,使用 useradd userName命令不会在/home下自动创建与用户名同名的用户目录,且不会自动选择shell版本,后续也是需要使用 passwd username来设置密码的。而使用 adduser userName命令的话是会在/home目录下自动创建与用户名同名的用户目录,也会自动选择shell版本,且会自动提示输入用户密码,对用户比较友好,后续不需要在使用passwd来设置密码。
删除用户,并不会删除用户相关的文件
删除用户且一起删除家目录
格式如下:
参数如下:
-g指定组(只有root可以使用)
-a指定用户加入组
-d从组中删除该用户
-p从组中清楚所有成员
-l显示组成员列表
linux中每个文件都是有权限的。每个文件都有自己的所属用户和所属组,且拥有所属用户权限,所属组权限和其他权限3种。
权限一般分为读,写,执行3种,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的操作。
目录有x权限才可以cd进入该目录。目录有r权限才能在该目录中使用ll或者ls查看目录。一个目录中的文件能否被删除或者创建取决于该目录是否有w权限。
执行ll命令后显示如下,我们解读一下
从左到右发现一共有7段
然后执行如下命令
test文件的权限改为
常用的参数为-R,常用于修改目录权限,该参数表示为该目录以及目录下的所有子文件都修改为相同的权限。
然后执行如下命令
再次查看test文件
常用的参数为-R,常用于修改目录,该参数表示为该目录以及目录下的所有子文件都修改为相同的用户及用户组。
想切换到root用户,直接使用su命令即可
CentOS系统管理基本权限和归属的详解
Linux系统管理_基本权限和归属-RedhatEnterprise5
文件和目录在linux系统中是最为重要的,经常使用root用户登录系统可能没感觉,一旦使用普通用户的时候,就会发现权限这个很棘手的问题,最近一段时间在学习关于文件和目录的权限,想了一下,可以从这四个方面来总结一下:
一基本权限和归属关系
二,文件和目录的权限
三,权限的设置:chmod,umask,mkdir-m
四,文件和目录的所有者和所属组:chown,chgrp
扩展:
Linux系统管理_附加控制权限:
Linux系统管理_用户和用户组:
Linux系统管理_ACL访问控制:
一:基本权限和归属关系
1,访问权限:
-读取:允许查看内容-read
-写入:允许修改内容-write
-可执行:允许运行和切换-excute
注:可执行权限对于目录来说,对应的位置有x权限,意为是否可进入该目录;
而对于文件来说,有x权限,意为该文件可执行,如程序(命令)的所有者权限中都有x权限。
2,归属关系:
-属主:拥有此文件或目录的用户-user
-属组:拥有此文件或目录的组-group
-其他用户:除属主、属组以外的用户-other
最终权限:访问权限和归属关系共同决定最终权限
二:文件和目录的权限
[root@localhost/]#ll-d/etc/passwd/boot/
drwxr-xr-x4rootroot10242013-07-10/boot///目录
-rw-r--r--1rootroot168102-1710:23/etc/passwd//文件
12345678
第一段:d代表该目标为目录,-代表该目标位文件
第二段:rwxr-xr-x:文件和目录的权限位
注:一共九位,前三位为user(所有者)的权限,中间三位为group(所属组)的权限,最后三位为other(其他用户)的权限。
其中r用数字标示为4,w为2,x为1
第三段:对于文件来说,为硬链接数;
对于目录来说,为该目录下有多少个目录,其中包括隐藏目录“.”和“..”。
第四段:为属主,即文件或目录的所有者
第五段:为所属组
第六段:文件的大小,默认情况下单位为bit(字节)
第七段:为最后修改的时间
第八段:文件或目录的名称
三:设置基本权限:chmod、umask和mkdir-m
1,chmod命令
-格式:chmod[ugoa][+-=][rwx]文件/目录
chmod[nnn]文件/目录(n代表权限的数字形式)
常用选项:-R:递归更改权限
--reference=:以指定文件或目录做模板(这个不重要)
示例:
1,修改Desktop的相关属性,分别使用字符权限和数字权限进行设置
[root@localhost~]#ll-dDesktop/
drwxr-xr-x3rootroot409602-1603:40Desktop/
[root@localhost~]#chmodg+w,o-rxDesktop/
[root@localhost~]#ll-dDesktop/
drwxrwx---3rootroot409602-1603:40Desktop/
[root@localhost~]#chmod755Desktop/
[root@localhost~]#ll-dDesktop/
drwxr-xr-x3rootroot409602-1603:40Desktop/
2,创建一个可执行文件,并赋予所有者x权限
[root@localhost~]#echo"echoHelloWorld">test.sh
[root@localhost~]#ll-lhtest.sh
-rw-r--r--1rootroot1702-1821:12test.sh
[root@localhost~]#chmod+xtest.sh//+x默认为所有者添加该权限
[root@localhost~]#ll-lhtest.sh
-rwxr-xr-x1rootroot1702-1821:12test.sh
[root@localhost~]#./test.sh
HelloWorld
[root@localhost~]#
2,umask命令:新建文件或目录的默认权限
-一般文件默认不给x执行权限
-其他取决于umask设置
-umask值可以进行设置(为临时,umask0027即讲umask值设置为0027,可使用umask查看)
注1:由于文件默认不给x权限,所以创建一个新文件的最大权限为666,创建一个目录的最大权限为777。
注2:umask默认值为022(----w--w-),也就是说:
新建一个文件时缺省权限为:
为rw-rw-rw-和----w--w-的差,即为rw-r--r--;即为644(注:不能用777或666减去022)
新建一个目录时缺省权限为:
为rwxrwxrwx和----w--w-的差,即为rwxr-xr-x;即为755
示例:
[root@localhost~]#umask
0022
[root@localhost~]#mkdirmulu1
[root@localhost~]#touchfile1.txt
[root@localhost~]#ll-dmulu1/file1.txt
-rw-r--r--1rootroot002-1821:22file1.txt//默认文件权限为644
drwxr-xr-x2rootroot409602-1821:21mulu1///默认目录权限为755
[root@localhost~]#umask0027//将umask值设置为0027
[root@localhost~]#umask
0027//修改之后umask值为0027
[root@localhost~]#mkdirmulu2//修改umask值后再次创建目录
[root@localhost~]#touchfile2.txt//修改umask值后再次创建文件
[root@localhost~]#ll-dmulu2/file2.txt
-rw-r-----1rootroot002-1821:28file2.txt
drwxr-x---2rootroot409602-1821:28mulu2/
[root@localhost~]#
可以看到umask值设置为0027之后,那么创建的目录和文件的权限方面other用户将不再拥有任何权限。
3,mkdir-m
mkdir为创建一个目录,-m参数可以直接指定即将创建目录的权限
mkdir
四,文件和目录的所有者和所属组:chown,chgrp
1,chown:设置文件或目录的归属关系
-格式:chown属主文件或目录//修改文件或目录的所有者
chown:属组文件或目录//修改文件或目录的所属组
chown属主:属组文件或目录//修改文件或目录的所有者和所属组
-R选项:递归修改权限
--reference选项:以指定目录或文件作为模板(作为了解)
示例:
首先修改file1.txt的权限
然后以file1.txt为模板修改file2.txt文件的权限所有者和所属用户组。
[root@localhost~]#touchfile1.txt
[root@localhost~]#touchfile2.txt
[root@localhost~]#llfile*
-rw-r--r--1rootroot002-1821:43file1.txt
-rw-r--r--1rootroot002-1821:43file2.txt
[root@localhost~]#useradduser1
[root@localhost~]#chownuser1:user1file1.txt//修改file1.txt所有者为user1
//所属组为user1
[root@localhost~]#llfile*
-rw-r--r--1user1user1002-1821:43file1.txt
-rw-r--r--1rootroot002-1821:43file2.txt
[root@localhost~]#chown--referencefile1.txtfile2.txt//file2.txt将会复制file1.txt的属性
[root@localhost~]#llfile*
-rw-r--r--1user1user1002-1821:43file1.txt
-rw-r--r--1user1user1002-1821:43file2.txt//所有者和所属组为和
//file1.txt相同
2,chgrp:设置文件或目录的所属组
chgrp属组文件或目录:修改文件或目录为的所属组
注:相当于chown:属组文件或目录
[root@localhost~]#llfile*
-rw-r--r--1user1user1002-1821:43file1.txt
-rw-r--r--1user1user1002-1821:43file2.txt
[root@localhost~]#chgrprootfile1.txtfile2.txt//修改file1和file2的属主
[root@localhost~]#llfile*
-rw-r--r--1user1root002-1821:43file1.txt//属主变为root
-rw-r--r--1user1root002-1821:43file2.txt//属主变为了root
[root@localhost~]#
总结:
chmod,chown,chgrp这三个命令虽然参数很少,但是总是容易搞混,不过用的多了,用的熟练了就能记住了,chmod修改的是权限,chown修改的是所属用户和组,chgrp修改的是所属组。
最需要注意的是umask的值的设定,新建文件和文件夹时的默认权限!