centos mount acl?centos镜像
大家好,关于centos mount acl很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于centos镜像的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
CentOS7mount网络磁盘的详细步骤
systemctl disable firewalld
systemctl stop firewalld
systemctl mask firewalld
vi/etc/iscsi/initiatorname.iscsi
InitiatorName= iqn.************;【注:eg:iqn.2017-09.com.centos:client1】
1.安装target
yum-y install targetcli
2.启动target服务
systemctl start target
3.设置开机自启动
systemctl enable target
4.新建分区
eg:
fdisk/dev/sda==>回车,见下图
5.进入交互模式
targetcli
6.建立一个块存储
/>/backstores/block create netdisk1.disk/dev/sdb1【注:其中netdisk1为自定义名称】
7.配置ISCSI target端的命名
/>/iscsi create iqn.2017-09.com.centos:server1【注:其中server1为自定义名称,且命名在同一子网中确保是唯一的】
8.创建ACL允许ISCSI客户机连接
/>/iscsi/iqn.2017-09.com.example:server1/tpg1/acls create iqn.2017-09.com.example:client1【注:其中server1为服务端,client1为客户端名称】
9.创建lun(target块设备的逻辑单元)
/>/iscsi/iqn.2017-03.com.example:server1/tpg1/luns create/backstores/block/netdisk1.disk
10.配置验证用户名和密码
/>cd/iscsi/iqn.2017-03.com.example:disk1/tpg1/acls/iqn.2017-03.com.example:client1
/>set auth userid=username
/>set auth password=password
11.配置完成后查看配置信息,并退出
/>cd/
/>ls
/>exit
1.安装ISCSI Initiator
# yum-y install iscsi-initiator-utils
2.配置ISCSI Initiator的名称
# vi/etc/iscsi/initiatorname.iscsi【注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致,且与上面的server端的配置相互配合】
3.修改ISCSI Initiator的配置文件
# vi/etc/iscsi/iscsid.conf
【注:node.session.auth.username为存储服务端set auth userid=username配置的username,node.session.auth.password= password为存储服务器端set auth password=password配置的password】
4.查找ISCSI设备
# iscsiadm-m discovery-t sendtargets-p 192.168.**.**
5.链接ISCSI设备
# iscsiadm-m node--login【注:如果登录一直失败的话,可以尝试重新启动下面两个服务:service iscsi stop; service iscsid stop; service iscsi start; service iscsid start;】
6.查看系统磁盘的信息
# fdisk-l
7.格式化磁盘
mkfs-t ext4/dev/sda
8.mount到指定的位置
mount/dev/sda/root/iscsi
9.设置开机自动连接ISCSI设备
# iscsiadm-m node-T iqn.2017-03.com.example:disk1-p192.168.**.**:3260-o update-n node.startup-v automatic【注:提到的名字与IP均为target端的】
10.设置开机挂载网络磁盘
开机挂载:采用写入fstab方式开启启动挂载磁盘
获取磁盘UUID:# blkid/dev/sda
编辑fstab:# vi/etc/fstab
添加配置:UUID=9f122014-071a-4416-b40f-ece882285b2b /mnt/iscsi ext4 defaults,_netdev 0 0
【说明】
UUID=ba7925cc-9bfb-4238-984d-999e18d592e8:磁盘UUID,代表磁盘
/mnt/iscs:代表挂载路径,根据实际灵活变动。
ext4:代表文件系统,根据实际灵活变动。
_netdev:代表该挂载的磁盘分区为网络磁盘分区。(在网络服务启动之后再去mount磁盘,若果不加的话,会使机器无法启动!!!!)
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下的umask、特殊权限与ACL权限
在了解到Linux系统上的文件目录权限,有时候你会发现为什么刚创建的文件是-rw-r--r--这个权限,目录是 drwxr-xr-x权限,有些是-rwsr-xr-x,又有些是 drwsrws--T?这些则与umask、特殊权限有关。
什么是umask?umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、
或用户家目录下的.bash_profile或.profile中设置umask值。
默认的umask是0022,0022四个数字代表是赋值初始化准备丢弃的权限。(相对应文件来说,x权限就算没说明出来丢弃一样必须默认丢弃)
第一个0代表suid丢弃的权限;
第二个0代表本文件/目录拥有者什么权限都没丢弃;
第三个2代表本文件/目录的用户组丢弃了w权限;
第四个2代表本文件/目录的文件/目录的用户组丢弃了w权限。
一般我们会这样表示:
umask+default permission(默认权限)=777(目录)/666(文件)
但存在特殊情况如果把umask设为135呢?
要了解特殊权限需对安全上下文有一个概念:
前提:进程有属主和属组;文件有属主和属组
(1)任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
(2)启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
(3)进程访问文件时的权限,取决于进程的发起者
(a)进程的发起者,同文件的属主:则应用文件属主权限
(b)进程的发起者,属于文件属组;则应用文件属组权限
(c)应用文件“其它”权限
1.SUID权限仅对二进制程序(binary program)有效;
2.执行者对于该程序需要具有x的可执行权限;
3.本权限仅在执行该程序的过程中有效(run-time);
4.执行者将具有该程序拥有者(owner)的权限。
5.SUID设置在目录上无意义
权限设定:
chmod u+s FILE...
chmod u-s FILE...
s标志在文件拥有者的x项目为SUID,那s在群组的x时则称为Set GID
[root@centos7~]# ls-l/usr/bin/locate
-rwx--s--x. 1 root slocate 40496 Jun 10 2014/usr/bin/locate
与SUID不同的是,SGID可以针对文件或目录来设定!如果是对文件来说, SGID有如下的功能:
-1.SGID对二进制程序有用;
-2.程序执行者对于该程序来说,需具备x的权限;
-3.执行者在执行的过程中将会获得该程序群组的支持!
[root@centos7~]# ll/usr/bin/locate/var/lib/mlocate/mlocate.db
-rwx--s--x. 1 root slocate 40496 Jun 10 2014/usr/bin/locate
-rw-r-----. 1 root slocate 2349055 Jun 15 03:44/var/lib/mlocate/mlocate.db
与SUID非常的类似,使用xiaoming这个账号去执行locate时,那xiaoming将会取得slocate群组的支持,因此就能够去读取 mlocate.db。
SGID也能够用在目录上,这也是非常常见的一种用途
目录设定了SGID的权限后,他将具有如下的功能:
-1.用户若对于此目录具有r与x的权限时,该用户能够进入此目录;
-2.用户在此目录下的有效群组(effective group)将会变成该目录的群组;
-3.用途:若用户在此目录下具有w的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。
这个 Sticky Bit, SBIT目前只针对目录有效,sticky设置在文件上无意义。SBIT对于目录的作用是:
-1.当用户对于此目录具有w, x权限,亦即具有写入的权限时;
-2.当用户在该目录下建立文件或目录时,仅有自己与root才有权力删除该文件
SUID/SGID/SBIT权限设定
-rwSrwSrwT 1 root root 0 Jun 16 02:53 test
设定权限成为-rws--x--x的模样:
[root@centos7 tmp]# chmod u=rwxs,go=x test; ls-l test
-rws--x--x 1 root root 0 Jun 16 02:53 test
承上,加上 SGID与 SBIT在上述的文件权限中!
[root@centos7 tmp]# chmod g+s,o+t test; ls-l test
-rws--s--t 1 root root 0 Jun 16 02:53 test
1】ACL是Access Control List的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。ACL可以针对单一使用者,单一文件或目录来进行
ACL主要可以针以下来控制权限呢:
1.使用者(user):可以针对使用者来设定权限;
2.群组(group):针对群组为对象来设定其权限;
3.默认属性(mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的默认权限;
及1.ACL:Access Control List,实现灵活的权限管理;2.CentOS7默认创建的xfs和ext4文件系统具有ACL功能;3.CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加tune2fs–o acl/dev/sdb1
mount–o acl/dev/sdb1/mnt/test
4.ACL生效顺序:所有者,自定义用户,自定义组,其他人
为多用户或者组的文件和目录赋予访问权限rwx
2】ACL的设定技巧: getfacl, setfacl
-x:删除后续的 acl参数,不可与-m合用;
-b:移除『所有的』 ACL设定参数;
-k:移除『预设的』 ACL参数,
-R:递归设定 acl,亦即包括次目录都会被设定起来;
-d:设定『预设 acl参数』的意思!只对目录有效,在该目录新建的数据会引用此默认值
例:[root@centos7~]# touch acl_test1
[root@centos7~]# ll acl_test1
-rw-r--r--. 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7~]# setfacl-m u:xiaoming:rx acl_test1
[root@centos7~]# ll acl_test1
-rw-r-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7~]# setfacl-m u::rwx acl_test1
[root@centos7~]# ll acl_test1
-rwxr-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
设定值中的 u后面无使用者列表,代表设定该文件拥有者
2.getfacl指令用法余setfacl一样
例:[root@centos7~]# getfacl acl_test1
file: acl_test1<==说明档名而已!
owner: root<==说明此文件的拥有者,亦即 ls-l看到的第三使用者字段
group: root<==此文件的所属群组,亦即 ls-l看到的第四群组字段
user::rwx<==使用者列表栏是空的,代表文件拥有者的权限
user:xiaoming:r-x<==针对xiaoming的权限设定为 rx,与拥有者并不同!
group::r--<==针对文件群组的权限设定仅有 r
mask::r-x<==此文件预设的有效权限(mask)
other::r--
3】特定的单一群组的权限设定:『g:群组名:权限』
4】主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息
getfacl-R/tmp/dir1> acl.txt
setfacl-R-b/tmp/dir1
清除dir目录的ACL权限
setfacl-R--set-file=acl.txt/tmp/dir1
setfacl--restore acl.txt
getfacl-R/tmp/dir1