大数据兼云计算(王明龙)讲师-LINUX-DAY02-文件与目录权限管理

一.查看【文件/目录】信息

ls -l或ll 文件名
ls -d或ll -d 目录名
二.修改属主与属组

chown 用户名 文件名/目录名 // 修改文件与目录的属主
chown .组名 文件名/目录名 // 修改文件与目录的属组
chown :组名 文件名/目录名 // 修改文件与目录的属组
chown 用户名:组名 文件名/目录名 // 修改文件与目录的属主属组
三.权限管理
1.基本权限:ugo=主/组/其它人 rwx=421
2.查看基本权限:

stat 文件名/目录名
getfacl 文件名/目录名
ll 文件名 // 查看文件权限
ll -d 文件名 // 查看目录权限
四.修改权限

chmod a/u/g/o/ +/- r/w/x 文件名/目录名
举例

chmod g-r a
chmod o+w a
chmod u-w,g+w,o+x a
chmod a-r a.txt a表示ugo
chmod u+r+w-x a
少用:

chmod +x a
chmod -x a
五.隐藏权限

1.设置隐藏权限

chattr +a 文件名/目录名 // 只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root可设定
chattr +i 文件名/目录名 // 设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容,但可>>追加
chattr -a 文件名/目录名
chattr -i 文件名/目录名
2.显示隐藏权限

lsattr 文件名/目录名
六.高级权限(查看命令的绝对路径:which 命令名称)

1.设置Suid // 只对命令/可执行文件有效

which 命令名称 //查看命令的完整路径
chmod u+s+x 命令/可执行文件 // 设置此权限后,普通用户在执行命令和可执行文件时拥有root身份
2.设置Sgid

chmod g+s 文件名/目录名 //设置此权限后,在此目录下创建的所有文件或目录都会继承此目录的家目录
3.设置sticky

chmod o+t 目录名 //设置此权限后,在此目录下任何用户只删除自已创建的文件,其它人的不能删除,只对目录有效
同样也可使用数字方式表示
SUID=4 —–>>>用户的x位
SGID=2 —–>>>组的x为
STICKY=1 —–>>>other的x位

七.设置facl权限

getfacl 文件/目录 //查看文件或目录的ACL权限
setfacl -m u:username:mode FILE/DIR //设定某用户的某权限 mode代表权限,若不给某用户任何权限 setfacl -m u:username:000 FILE/DIR
setfacl -m g:groupname:mode FILE/DIR //设定某组的某权限
setfacl -b FILE/DIR //删除所有用户的ACL权限
setfacl -x u:username FILE/DIR //取消某用户的某权限
setfacl -x g:groupname FILE/DIR //取消某组的某权限
FACL 文件系统的权限设置
FACL 文件系统的权限设置(file access contrl list) 文件访问控制列表

针对Unix系统权限机制的不足,一个名为POSIX ACL的全新权限机制诞生了,目的就是为了给各Unix系统之间制定一个兼容的ACL标准,使得各操作系统之间使用统一的接口。ACL为现有权限机制的延伸,在现有机制的三个基本设定(owner、group、other)的基础上加入了对某指定使用者或群组的存取权限设定。

在Linux Kernel 2.6上已经正式支持POSIX ACL,常用的档案系统(如:ext2,ext3,xfs,jfs以及ReiserFS)都能使用ACL。当然,在编译kernel时需要启动ACL。

相关的kernel option:

CONFIG_FS_POSIX_ACL
CONFIG_EXT3_POSIX_ACL
CONFIG_EXT2_POSIX_ACL

rules:

user:(uid/name):(perms) 指定某位使用者的权限
group:(gid/name):(perms) 指定某一群组的权限
other::(perms) 指定其它使用者的权限
mask::(perms) 设定有效的权限屏蔽

ACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。
option:

-m 新增或修改ACL中的规则
-x 移出ACL中的规则

getfacl <文件名> 获取文件的访问控制信息
setfacl设置文件的acl -m 修改文件的acl -x 取消对文件的设置
setfacl –m u:用户名:权限 文件名
setfacl –m g:组名:权限 文件名

要设定预设型ACL只需在每个规则前加上”default:” 。
例如: setfacl -m default:user::rw /home/alex
或简写为: setfacl -m d:u::rw /home/alex

[[email protected] ~]# getfacl hello_world 查看文件的acl权限

file: hello_world
owner: root
group: root
user::rw-
group::r–
other::r–

[[email protected] ~]# setfacl -m student:rwx hello_world 让用户student拥有rwx权限
[[email protected] ~]# getfacl hello_world

file: hello_world
owner: root
group: root
user::rw-
user:student:rwx
group::r–
mask::rwx
other::r–

[[email protected] ~]# setfacl -m g:student:rx hello_world 让组student拥有rwx权限
[[email protected] ~]# getfacl hello_world

file: hello_world
owner: root
group: root
user::rw-
user:student:rwx
group::r–
group:student:r-x
mask::rwx
other::r–

[[email protected] ~]# ll hello_world
-rw-rwxr—+ 1 root root 0 07-21 13:48 hello_world
[[email protected] ~]# setfacl -x student hello_world 解除student用户对文件的acl权限
[[email protected] ~]# setfacl -x g:student hello_world 解除student组对文件的权限
(撤消ACL操作: 对用户直接加用户名字就可以了 对组,在前面加g:组名)
[[email protected] ~]# getfacl hello_world

file: hello_world
owner: root
group: root
user::rw-
group::r–
mask::r–
other::r–

[[email protected] ~]# getfacl hello_world

file: hello_world
owner: root
group: root
user::rw-
user:student:rwx
group::r–
group:student:rwx
mask::rwx
other::r–

[[email protected] ~]# setfacl -b hello_world 删除所有扩展的acl规则
[[email protected] ~]# getfacl hello_world

file: hello_world
owner: root
group: root
user::rw-
group::r–
other::r–

[[email protected] lianxi]# getfacl a

file: a
owner: root
group: root
user::rw-
user:wl:rwx
group::r–
group:wl:rwx
mask::rwx
other::r–

收回所有用户和所有组的写的权限
[[email protected] lianxi]# setfacl -m m::r-x a
[[email protected] lianxi]# getfacl a

file: a
owner: root
group: root
user::rw-
user:wl:rwx #effective:r-x
group::r–
group:wl:rwx #effective:r-x
mask::r-x
other::r–

让子目录下的文件和文件夹继承
[[email protected] lianxi]# setfacl -m d:u:wl:rwx,g:wl:rwx b (其中d表示defaults)
[[email protected] lianxi]# getfacl b

file: b
owner: root
group: root
user::rwx
group::r-x
group:wl:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:wl:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

[[email protected] lianxi]# cd b/
[[email protected] b]# mkdir c;touch d
[[email protected] b]# ls
c d
[[email protected] b]# getfacl c

file: c
owner: root
group: root
user::rwx
user:wl:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:wl:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[[email protected] b]# getfacl d 可能由于文件本身的默认权限666问题,文件没有继承x权限

file: d
owner: root
group: root
user::rw-
user:wl:rwx #effective:rw-
group::r-x #effective:r–
mask::rw-
other::r–
getfacl a |setfacl —set-file=- b

这是个很有意思的命令,它可以让一个文件的权限直接复制改成那一个文件的权限

[[email protected] lianxi]# ll
总计 4
-rw-rwxr–+ 1 root root 0 07-21 20:34 a
-rw-r–r– 1 root root 0 07-21 20:34 b
[[email protected] lianxi]# getfacl a

file: a
owner: root
group: root
user::rw-
user:wl:rwx
group::r–
group:wl:rwx
mask::rwx
other::r–

[[email protected] lianxi]# getfacl a |setfacl –set-file=- b
[[email protected] lianxi]# ll
总计 8
-rw-rwxr–+ 1 root root 0 07-21 20:34 a
-rw-rwxr–+ 1 root root 0 07-21 20:34 b
[[email protected] lianxi]# getfacl b

file: b
owner: root
group: root
user::rw-
user:wl:rwx
group::r–
group:wl:rwx
mask::rwx
other::r–

原文地址:http://blog.51cto.com/6443632/2156362

时间: 2024-10-25 14:54:56

大数据兼云计算(王明龙)讲师-LINUX-DAY02-文件与目录权限管理的相关文章

linux修改文件和目录权限chmod

1. 文件权限简介 linux文件权限有9个,三组表示,owner, group, others,每组又包含r,w, x三种状态. 2. 根据数字修改权限 r, w, x三种权限通过数字来代表: r: 4 w: 2 x: 1 每组的权限为上面三个相加. 比如权限为; [-rwxrwx---] owner: rwx = 4 + 2 + 1 = 7 group: rwx = 4 + 2 +1 = 7 others: --- = 0 + 0 + 0 = 0 对应的权限为 770 chmod 770 t

Linux的文件与目录权限解析

在Linux中,万事万物皆文件,普通文件是文件,目录是文件,硬件设备也是文件,因此学习了解Linux中的文件非常重要. Linux中有三种文件类型: (1) 普通文件:又分为文本文件和二进制文件 (2) 目录文件:目录文件存储了一组相关文件的位置.大小等与文件有关的信息. (3) 设备文件:I/O设备在Linux中也被看成文件,与普通文件一样处理,这样使文件与设备的操作尽可能统一. 一.Linux文件属性 Linux的文件有很多属性,要查看文件的属性可以用ls -l命令,为了后续的讲解中有操作的

umask值与Linux中文件和目录权限的关系

umask值与文件和目录的权限 1.1 -R参数设置目录权限(chmod) 1.2 权限字母说明 1.3umask说明 1.umask的值决定着文件和目录的权限,创建文件默认最大权限为666(-rw-rw-rw-),默认创建的文件没有可执行权限x位. 2.对于文件来说,umask的设置是在假定文件拥有八进制666的权限上进行的,文件的权限就是666减去umask(umask的各个位数字也不能大于6,如,077就不符合条件)的掩码数值:重点在接下来的内容,如果umask的部分位或全部位为奇数,那么

Linux更改文件及目录权限问题

1. 快速实例学习 修改某个目录下的所有文件的权限,包括子目录中的文件,例子如下: # chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx # chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx 其中,参数-R表示启动递归处理 2. chmod命令解析: chmod 用3个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限: 如

大数据兼云计算(王明龙)讲师-LINUX-DAY03-安装管理

一.必知 Cat /etc/redhat-release //查看linux版本 Uname -a //查看系统位数 Ultraiso //做镜像软件 Mount -o loop 镜像 挂载点 //挂载镜像 Which 命令 //查看命令的绝对路径 \ //转意符,让有意义的无意义,让无意义的有意义 "" //转意成普通字符 挂载 Mount 设备名 挂载点 //挂载设备 Mount -o loop 镜像 挂载点 //挂载镜像 卸载 Umount 设备名 Umount 挂载点 二.Rp

大数据兼云计算(王明龙)讲师-LINUX-DAY01-用户管理

用户管理 一.必知点 1.用户信息文件/etc/passwd 2.用户名:密码:UID:GID:描述信息:家目录:登陆状态 3.用户密码存放文件/etc/shadow 4.每次创建新账户都会在home目录下产生跟用户名同名的家目录 二.添加账户 useradd [参数] 账户的名称 -u 指定用户的UID 用法:useradd -u uid号 用户名 -g 指定用户的主组 用法:useradd -g 组名 用户名 -G 指定用户的附组 用法:useradd -G 组名 用户名 -d 指定用户的家

linux下文件以及目录权限修改(摘抄)

http://www.linuxidc.com/Linux/2014-10/108114.htm chagrp 改变所属组:chown 改变拥有者:chmod 改变权限: 1. 改变所属群组, chgrp [[email protected] ~]# chgrp [-R] dirname/filename ... 选项与参数: -R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案.目录都更新成为这个群组之意.常常用在变更某一目录内所有的档案之情况. 范例:[[email 

Linux系统——文件和目录权限

文件及目录权限(七进制表示) r  读权限(4),允许查看文件内容 w 写权限(2),允许修改文件内容 x  可执行权限(1),允许运行程序 - 无权限(0) 属主:拥有该文件的用户账号 属组:拥有该文件的组账号 查看文件的权限和归属 - rw- r-- r--(为演示,将该权限用空格分为四位) 第一位:文件的类型 第二位:属主的权限 第三位:属组的权限 第四位:其他所有人权限 ================= 第一位: -  一般文件 d  目录 l   软链接 p  PIPE管道文件 s

Linux文件和目录权限详解

一.Linux文件和目录权限管理 1.文件权限说明: (1)r:表示具有读取文件内容的权限: (2)w:表示具有新增,修改文件内容的权限: (3)x:表示具有执行文件的权限,同时需要有r权限: 2.目录权限说明: (1)r:表示具有浏览目录下有哪些文件的权限,必须同时用x权限才可以: (2)w:表示具有新增.删除.移动目录内容文件的权限,同时需要有x权限: (3)x:表示具有进入目录的权限: 3.权限获取顺序 先看用户是不是文件所有者,再看是不是所属组,最后看是不是其他用户,如果是其中一个,就有