程序员必知必会的 Linux系列 —— 文件权限篇

1. 文件权限

1.1 文件基本权限

-rw-r--r--
复制代码
  • 文件类型
    • - 文件
    • d 目录
    • l 软连接文件
  • 全部者 所属组 其它人
  • r 读 w 写 x 执行

1.2 基本权限的修改

chmod [选项] 模式 文件名markdown

  • 选项
    • -R 递归
  • 模式
    • [ugoa][+-=][rwx]
  • 权限数字
    • r 4
    • w 2
    • x 1
chmod 000 1.txt
chmod u+w 1.txt
chmod g+x 1.txt
chmod o+r 1.txt

chmod g+x,o+x 1.txt

chmod u-w 1.txt

chmod u=rwx 1.txt

chmod 777 1.txt
复制代码

1.3 权限的做用

  • 对文件来讲最高权限是x
  • 对目录来说最高权限是w,只有读权限没有意义,对目录有了写权限,里面能够作任何事情

1.3.1 文件权限

权限 含义 示例
r 读取文件内容 cat more head tail
w 编辑、新增、修改文件内容,不能删除文件,除非对目录有写权限 vi echo
x 可执行

1.3.2 目录权限

权限 含义 示例
r 能够查看目录下的文件名 ls
w 具备修改目录结构的权限。如新建、删除和重命名此目录下的文件和目录 touch rm mv cp
x 进入目录 cd
useradd zf1
passwd zf1

cd /home/zf1
mkdir folder
touch folder/1.txt 默认755
chmod 750 folder
chmod 640 folder/1.txt
chmod 754 folder
chmod 755 folder
chmod 644 folder/1.txt
chmod 646 folder/1.txt
chmod 757 folder
复制代码

1.1.3 其它权限命令

1.1.3.1 chown
  • chown 用户名 文件名spa

  • 若是想让一个用户拥有 7 权限,能够把这个文件的全部者改为这个用户名code

chmod 755 folder
chown zf1 folder
复制代码
1.1.3.2 chgrp
  • chgrp 组名 文件名
  • 建立用户名的时候会为它建立一个所属组
chgrp zf1 folder
chown root:root folder
复制代码

2.默认权限

2.1 umask

  • 查看默认权限
  • 0022
    • 第一位 0 文件特殊权限
    • 022 文件默认权限

2.2 文件权限

  • 默认权限就是文件一建立后就拥有的权限
  • 文件默认不能创建可执行文件,必须手工赋予执行权限
  • 文件默认权限最大为666
  • 默认权限须要换算成字母再相减
  • 创建文件以后的默认权限,为 666 减去 umask 值
666 - 022 = 744;
复制代码

2.3 目录

  • 目录默认权限最大为 777
  • 创建目录以后的默认权限,为 777 减去 umask 值
777 - 022 = 755;
复制代码

2.4 修改 umask 值

  • 临时修改
umask 0002
复制代码
  • 永久修改
vi / etc / profile;
复制代码

3. sudo 权限

  • root 把原本只有超级管理员可使用的命令赋予普通用户来使用
  • sudo 操做的对象是系统命令

4.1 visudo

  • 经过visudo能够由超级用户赋权
  • 实际修改的是/etc/sudoers文件
  • 命令必须写绝对路径
root ALL=(ALL) ALL
用户名 被管理主机地址=(可以使用的身份) 受权命令(绝对路径)

stu2 ALL=(root) ALL //新增长用户行
复制代码
相关文章
相关标签/搜索