一、基本权限

文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件

权限对象:
属主: u
属组: g
其他人: o

基本权限类型:
读:r    4
写:w    2
执行: x    1

rwx          rw-          r--           alice     hr      file1.txt
属主权限 属组权限 其他人权限 属主 属组

(一)、设置权限

1. 更改文件的属主、属组

=chown:
[root@linux ~]# chown alice.hr file1 //改属主、属组
[root@linux ~]# chown alice file1 //只改属主
[root@linux ~]# chown .hr file1 //只改属组
[root@linux ~]# chown -R zhouchen.hr dir1
=chgrp:
[root@linux ~]# chgrp it file1 //改文件属组
[root@linux ~]# chgrp -R it dir1 //改文件属组

2. 更改权限

=a. 使用符号
对象 赋值符 权限类型
u + r
chmod g - w file1
o = x
a
[root@linux ~]# chmod u+x file1 //属主增加执行
[root@linux ~]# chmod a=rwx file1 //所有人等于读写执行
[root@linux ~]# chmod a=- file1 //所有人没有权限
[root@linux ~]# chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
[root@linux ~]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- alice it - : file1 //显示的结果 =b. 使用数字
[root@linux ~]# chmod file1
[root@linux ~]# ll file1
-rw-r--r-- alice it - : file1

二、基本权限ACL

文件权限管理之: ACL设置基本权限(r、w、x)
UGO设置基本权限: 只能一个用户,一个组和其他人
ACL 设置基本权限: r,w,x

(一)、ACL基本用法

设置:
[root@linux ~]# touch /home/test.txt
[root@linux ~]# ll /home/test.txt
-rw-r--r-- root root - : /home/test.txt [root@linux ~]# getfacl /home/test.txt
[root@linux ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限
[root@linux ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限
[root@linux ~]# setfacl -m o::rw /home/test.txt 查看/删除:
[root@linux ~]# ll /home/test.txt
-rw-rw-r--+ root root - : /home/test.txt
[root@linux ~]# getfacl /home/test.txt [root@linux ~]# setfacl -m g:hr:r /home/test.txt
[root@linux ~]# setfacl -x g:hr /home/test.txt //删除组hr的acl权限
[root@linux ~]# setfacl -b /home/test.txt //删除所有acl权限

(二)、查看帮助

[root@linux ~]# man setfacl
/EXAMPLES
[root@linux ~]# getfacl file1 |setfacl --set-file=- file2 //复制file1的ACL权限给file2

(三)、ACL高级特性

mask:
用于临时降低用户或组(除属主和其他人)的权限
mask决定了他们的最高权限
建议:为了方便管理文件权限,其他人的权限置为空

[root@linux ~]# setfacl -m o::- /home/file100.txt              //chmod o=- /home/file100.txt
[root@linux ~]# setfacl -m m::--- /home/file100.txt

default: 继承(默认)
要求: 希望alice能够对/home以及以后在/home下新建的文件有读、写、执行权限

思路:
步骤一: 赋予alice对/home读、写、执行权限

[root@linux ~]# setfacl -R -m u:alice:rwx /home

步骤二: 赋予alice对以后在/home下新建的文件有读、写、执行权限 (使alice的权限继承)

[root@linux ~]# setfacl -m d:u:alice:rwx /home

三、高级权限

文件权限管理之:高级权限suid,sgid,sticky

(一)、问题

  为什么会失败!

[root@linux ~]# ll /root/file1.txt
-rw-r--r-- root root 7月 : /root/file1.txt
[alice@linux ~]$ cat /root/file1.txt
cat: /root/file1.txt: 权限不够

分析:

root            /usr/bin/cat (root)            /root/file1.txt          OK
alice /usr/bin/cat (alice) /root/file1.txt

高级权限的类型

suid
sgid
sticky 粘滞位

设置特殊权限

a、字符
chmod u+s file
chmod g+s file
chmod g+s dir
chmod o+t dir b、数字
chmod file
chmod file
chmod dir
chmod dir

(二)、示例

示例1:suid 普通用户通过suid提权 <针对文件>

[root@linux ~]# chmod u+s /usr/bin/cat
[root@linux ~]# chmod u+s /usr/bin/rm
[alice@linux ~]$ cat /root/file1.txt

示例2:sticky 用户只能删除自己的文件 <针对目录>

[root@linux ~]# mkdir /home/dir1
[root@linux ~]# chmod /home/dir1
测试:user1在/home/dir1建立文件, user2尝试删除! [root@linux ~]# chmod o+t /home/dir1
[root@linux ~]# ll -d /home/dir1
rwxrwxrwt root root - : /home/dir1

谁可以删除:
root
文件的所有者
目录的所有者

示例3:sgid 新建文件继承目录属组 <针对目录>

[root@linux ~]# mkdir /home/hr
[root@linux ~]# chgrp hr /home/hr/
[root@linux ~]# chmod g+s /home/hr
[root@linux ~]# ll -d /home/hr/
drwxr-sr-x. root hr Dec : /home/hr/ [root@linux ~]# touch /home/hr/file9
[root@linux ~]# ll /home/hr/
-rw-r--r--. root hr Dec : file9

=================================================================
小知识:注意以下目录的正确权限,否则会导致程序不能正常运行

[root@linux ~]# ll -d /tmp /var/tmp/
drwxrwxrwt root root - : /tmp
drwxrwxrwt root root - : /var/tmp/

=================================================================

四、文件属性

文件权限管理之: 文件属性

注:设置文件属性(权限),针对所有用户,包括root

[root@linux ~]# touch file100 file200 file300
[root@linux ~]# lsattr file100 file200 file300
-------------e- file100
-------------e- file200
-------------e- file300

(一)示例

[root@linux ~]# man chattr
[root@linux ~]# chattr +a file100
[root@linux ~]# chattr +i file200
[root@linux ~]# chattr +A file300

查看:

[root@linux ~]# lsattr file100 file200 file300
-----a-------e- file100
----i--------e- file200
-------A-----e- file300
[root@linux ~]# echo  > file100                 //以覆盖的方式写入
bash: file100: Operation not permitted
[root@linux ~]# rm -rf file100
rm: cannot remove `file100': Operation not permitted
[root@linux ~]# echo >> file100 //以追加的方式写入,例如日志文件 [root@linux ~]# echo > file200
bash: file200: Permission denied
[root@instructor ~]# echo >> file200
bash: file200: Permission denied
[root@linux ~]# rm -rf file200
rm: cannot remove `file200': Operation not permitted

(二)、取消权限

[root@linux ~]# chattr -a file100
[root@linux ~]# chattr -i file200
[root@linux ~]# chattr -A file300

五、文件掩码

文件权限管理之: 进程umask
进程 新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限

shell (vim,touch)      =======umask======>    新文件或目录权限
vsftpd =======umask======> 新文件或目录权限
samba =======umask======> 新文件或目录权限
useradd =======umask======> 用户HOME

示例1: 在shell进程中创建文件

[root@linux ~]# umask                                     //查看当前用户的umask权限

[root@linux ~]# touch file800
[root@linux ~]# mkdir dir800
[root@linux ~]# ll -d dir800 file800
drwxr-xr-x. root root 3月 : dir800
-rw-r--r--. root root 3月 : file800

示例2:修改shell umask值(临时)

[root@linux ~]# umask
[root@linux ~]# mkdir dir900
[root@linux ~]# touch file900
[root@linux ~]# ll -d dir900 file900
drwxrwxrwx. root root 3月 : dir900
-rw-rw-rw-. root root 3月 : file900

示例3:修改shell umask值(永久 建议不要)

[root@linux ~]# vim /etc/profile
if [ $UID -gt ] && [ "`id -gn`" = "`id -un`" ]; then
umask
else
umask
fi
[root@linux ~]# source /etc/profile //立即在当前shell中生效

示例4:通过umask决定新建用户HOME目录的权限

[root@linux ~]# vim /etc/login.defs
UMASK
[root@linux ~]# useradd linux
[root@linux ~]# ll -d /home/linux/
drwx------. linux linux 3月 : /home/linux/ [root@linux ~]# vim /etc/login.defs
UMASK
[root@linux ~]# useradd linux1
[root@linux ~]# ll -d /home/linux1/
drwxrwxrwx. linux1 linux1 3月 : /home/linux1/

Linux基础文件权限的更多相关文章

  1. 第六章、Linux 的文件权限与目录配置

    第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...

  2. Linux基础系统权限

    Linux基础系统权限 文件权限 Linux中,每个文件拥有三种权限 权限 对文件的影响 对目录的影响 r(读取) 可读取文件 可列出目录内容 w(写入) 可修改文件内容 可在目录中创建删除文件 x( ...

  3. 全面解析Linux数字文件权限

    全面解析Linux数字文件权限 来源:   时间:2013-09-04 20:35:13   阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...

  4. [转]Linux中文件权限目录权限的意义及权限对文件目录的意义

    转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...

  5. linux初学者-文件权限

    linux初学者-文件权限 lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍. 1.文件属性的查看 - ...

  6. 【转】第六章、Linux 的文件权限与目录配置

    原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...

  7. Linux的文件权限与目录配置

    用户与用户组(Linux是一个多用户多任务的系统) 文件所有者   设置适当的权限,其他人无法看到自己的文件 用户组概念   属于同一个用户组的可以看到这个团体的公共信息,每个账户都可以有多个用户组的 ...

  8. Linux:文件权限

    使用较长格式列出文件:ls -l显示除了 '.'(当前目录),'..' 上一级目录之外的所有包含隐藏文件(Linux 下以 '.' 开头的文件为隐藏文件): ls -Al查看某一个目录的完整属性,而不 ...

  9. Linux的文件权限

    1 文件权限的表示 (1)字母表示法 Linux中所有文件(普通文件.目录文件.字符特殊文件.块特殊文件.管道或FIFO.符号链接.套接字)都有9个权限,如下图所示: -rw-rw-r--就是文件a的 ...

随机推荐

  1. 手动安装gitlab-runner

    手动安装gitlab-runner 在终端使用命令curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runn ...

  2. TCP/IP 第一章

    1,tcp/ip协议族作用:连接互联网中的计算机,并使其通信.可以想象互联网的计算机有不同的操作系统,如linux.unix.bsd.srv.windows.mac等.这么多操作系统对tcp/ip的实 ...

  3. mysql 正确清理binlog日志的两种方法

    前言: MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对binlog使用正确安全的方法清理掉 ...

  4. JDK1.8之ConcurrentHashMap

    目录 简介 JDK1.7 JDK1.8 重要属性 Node类 ForwardingNode类 原子操作和Unsafe类 重要方法 初始化表操作(initTable) 插入键值对(put和putVal) ...

  5. 基于Django框架 CRM的增删改查

    思路: 创建表------从数据库读出数据展示出来------配置路由-----写视图函数------写对应页面 练习点: 数据库建表 ORM 数据库数据读取 数据 ModelForm  (form组 ...

  6. Linux命令学习-ls命令

    Linux中,ls命令的全称是list,主要作用是列出当前目录下的清单. 列出Linux根目录下的所有目录 ls / 列出当前目录下所有文件夹和文件 ls 列出当前目录下所有文件夹和文件(包括以&qu ...

  7. JavaScript-浏览器的三种弹窗方式

    //BOM 弹窗 //同步 阻断 alert("alert弹窗"); //返回布尔值 (是/否) var bcf = confirm("confirm弹窗"); ...

  8. 《Predict Anchor Links across Social Networks via an Embedding Approach》阅读笔记

    基本信息 文献:Predict Anchor Links across Social Networks via an Embedding Approach 时间:2016 期刊:IJCAI 引言 预测 ...

  9. 磁盘大保健 保持你的Linux服务器存储健康

    df du -sh *| sort -nr du -h --max-depth=1 / du -h --max-depth=1 /* find . -type f -size +1000000k 查找 ...

  10. MyBatis从入门到精通:第一章的pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...