Linux 文件权限、系统优化

1、文件权限的详细操作


1、简介:

权限就是用户可以对文件可以进行的操作,例如:可读,可写,可执行

2、命令及归属:

  • 命令:chmod

    • 参数:

      -c : 若该文件权限确实已经更改,才显示其更改动作

      -f :若该文件权限无法被更改也不要显示错误讯息

      -v :显示权限变更的详细资料

      -R :对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

  • 格式:chmod [参数] [修改权限文件名]

  • 文件权限的归属分为:u-属主(Owner)g-属组(Group)o-其他使用者(Other Users)

  • 权限字符及其编号


  • 使用字符添加权限直接+号就可以添加权限,-号代表取消权限,=代表唯一设定权限

功能一览表:

Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

模式 对应数字 描述
r 4 设置为可读权限
w 2 设置为可写权限
x 1 设置为可执行权限

3、权限对于用户和目录的意义

权限对于用户的意义:

  • 文件属主和超管可以修改文件或目录的权限;
  • root用户是高于权限;
  • 普通用户是严格遵守权限的;
  • 权限需要重新登才生效(su和su - 都可以);

权限对于目录的意义:

**设置最小权限使文件执行相应的操作**

  • 文件可读,文件所在路径(文件夹)的最小权限是必须拥有可执行权限。
  • 文件可写,文件所在路径(文件夹)的最小权限是必须拥有可执行权限
  • 文件可执行,文件所在路径(文件夹)的最小权限是必须拥有可读可执行权限

4、创建文件/文件夹的默认权限来源

  • 相关文件:/etc/profile
  • 在Linux中,常用的文件的权限是666,目录的权限是777
    • 创建文件的默认权限是跟umask值相减,遇到奇数加一,遇到偶数则不变
    • 创建文件夹的权限只和umask相减
  • 查看profile文件中的umask值,及运算关系
[root@localhost ~]# cat /etc/profile

root用户举例,示例如下:

# 查看uid
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
# uid <199,第一步为假了 [root@localhost test]# /usr/bin/id -gn
root
[root@localhost test]# /usr/bin/id -un
root
# 执行结果相同,为真
# False && True = False,所以root的umask = 022 # 那么我们在root用户下创建的用户默认权限就可以计算了,文件权限666和目录权限777与umask相减来验证 # 1、文件默认权限验证
666的每位与022相减:
6-0 =6 # 偶数不用变
6-2 =4 # 偶数不用变
6-2 = 4 # 偶数不用变
# 所以root下创建文件的默认权限为644---->rw-r--r-- # 实际创建验证
[root@localhost test]# touch a.txt
[root@localhost test]# ll -i
total 0
1423023 -rw-r--r--. 1 root root 0 Dec 15 15:48 a.txt # 2、目录默认权限验证
777的每位与022直接相减,不需要判断奇偶
7 - 0 = 7
7 - 2 = 5
7 - 2 = 5
# 所以root下创建的目录的默认权限为755 ----> rwxr-xr-x # 实际创建验证
[root@localhost ~]# mkdir test
[root@localhost ~]# ll -i
1423022 drwxr-xr-x. 2 root root 19 Dec 15 15:48 test

5、修改文件权限案例

案例:a.txt为例,修改文件ugo的权限

[root@localhost test]# ll -ia
1423023 -rw-r--r--. 1 root root 0 Dec 15 15:48 a.txt
# 现在ugo的权限为读写,可读,可读,把ugo的权限扩大,改为读写执行
[root@localhost test]# chmod ugo+rwx a.txt

[root@localhost test]# chmod 777 a.txt
[root@localhost test]# ll -i
total 0
1423023 -rwxrwxrwx. 1 root root 0 Dec 15 15:48 a.txt # 将a.txt ugo的读写执行权限都去掉
[root@localhost test]# chmod ugo-rwx a.txt

[root@localhost test]# chmod -777 a.txt
[root@localhost test]# ll -i
total 0
1423023 ----------. 1 root root 0 Dec 15 15:48 a.txt # 分别给a.txt 的u读写执行,g添加读写,o添加读权限
[root@localhost test]# chmod u+rwx,g+rw,o+r a.txt

[root@localhost test]# chmod 764 a.txt
[root@localhost test]# ll -i
total 0
1423023 -rwxrw-r--. 1 root root 0 Dec 15 15:48 a.txt # 分别给a.txt 的u读写,g执行,o没有任何权限
[root@localhost test]# chmod u+rw,g+x a.txt

[root@localhost test]# chmod 610 a.txt
[root@localhost test]# ll -i
total 0
1423023 -rw---x---. 1 root root 0 Dec 15 15:48 a.txt

案例:以test文件夹为例,分配权限

# 查看test文件夹文件的权限
[root@localhost test]# ll
total 0
----------. 1 root root 0 Dec 15 15:48 a.txt
----------. 1 root root 0 Dec 15 16:25 b.txt
# 没有任何权限,下面给test文件下的所有文件添加读写执行权限
[root@localhost ~]# chmod -R 777 test
[root@localhost ~]# ll test
total 0
-rwxrwxrwx. 1 root root 0 Dec 15 15:48 a.txt
-rwxrwxrwx. 1 root root 0 Dec 15 16:25 b.txt # 将test目录下所有文件的属组的执行权限,其他使用者的写和执行权限去掉
[root@localhost ~]# chmod -R g-x,o-wx test/
[root@localhost ~]# ll test/
total 0
-rwxrw-r--. 1 root root 0 Dec 15 15:48 a.txt
-rwxrw-r--. 1 root root 0 Dec 15 16:25 b.txt

ps:若用 chmod 4755 filename 可使此程序具有 root 的权限。


2、系统优化

系统信息查看方法

  • 查看系统名称信息:

    # cat /etc/redhat-release
    CentOS release 7.5.1804
  • 查看系统内核版本

    # uname -r
    3.10.0-862.el7.x86_64
  • 查看系统硬件位数

    # uname -m
    x86_64

系统基础优化

添加系统普通用户

  • 添加系统普通用户:useradd [用户名]

    • 参数 :-a
    [root@localhost ~]# uname
    Linux
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • 设置用户密码 :passwd [用户名]

    • 免交互模式:echo [密码]|passwd --stdin [用户名] (一般用在脚本文件中)
  • 切换用户信息:susu -

    • 二者区别就是su是切换用户,但是切换后的用户缺少相应的文件或环境变量;su -相当于重新登录,切换后的用户携带环境变量或相应文件
    • 通过pwdecho $PATH两个命令查看超管和普通用户切换后的区别
    • root用户切换到普通用户不需要输入密码
    • 普通用户切换到root用户需要输入密码

用户切换原理图:


  • 查看当前登录用户信息:whoami命令

    [root@localhost ~]# whoami
    root
  • 查看当前用户登录系统的终端 :who命令

    [root@localhost ~]# who
    root tty1 2021-12-15 08:50
    root pts/0 2021-12-15 15:14 (192.168.15.1)
    root pts/2 2021-12-15 16:52 (192.168.15.1) # tty和pts的含义
    tty ---- 代表虚拟机开的窗口
    pts ---- 代表此时Xshell开的窗口

命令提示信息优化

  • 通过echo $PS1命令修改显示命令行提示符格式信息

临时切换提示

  • 大写方式

    [root@localhost ~]# echo $PS1
    [\u@\h \W]\$
    # 大写方式只能显示路径基名,不显示完全路径
    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]#
  • 小写方式

    [root@localhost ~]# PS1='[\u@\h \w]\$'
    # 通过小写方式这样就能显示完整路径了
    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost /etc/sysconfig/network-scripts]#

永久设置切换提示

  • 相关文件: /etc/profile

    • 在profile文件内添加export PS1='[\u@\h \w]\$ '
    • 重载文件命令:source
    • 重载文件:source /etc/profile,设置成功+


【待续】

Linux 文件权限、系统优化的更多相关文章

  1. 修改linux文件权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  2. Linux:文件权限

    Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...

  3. Linux 文件权限总结

    在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...

  4. Linux&shell 之Linux文件权限

    写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...

  5. linux文件权限整理

    网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...

  6. 修改linux文件权限命令:chmod 【转载】

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod  命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...

  7. linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)

    文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...

  8. Linux 文件权限于目录配置

    用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...

  9. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

随机推荐

  1. 菜鸡的Java笔记 第二十九 - java 单例设计模式

    SingleCase 单例设计模式        1.单例设计模式的特点        2.多例设计模式的特点    内容    单例设计模式        现在如果说有这么一个程序类 class S ...

  2. 100_第一个vue-cli项目

    目录 什么是vue-cli 主要的功能 需要的环境 Node.js : http://nodejs.cn/download/ Git : https://git-scm.com/downloads 安 ...

  3. [atAGC048E]Strange Relation

    考虑对于$\{a_{i+1},...,a_{n}\}$,在其前面插入$a_{i}$对$x_{i}$的影响(不考虑$a_{1}$到$a_{i-1}$): 1.$x_{i}=0$,因为其前面没有数字了 2 ...

  4. Linux下Zabbix5.0 LTS添加自定义监控项

    自定义监控项 zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求.有时候由于业务需求,需要自定义监控项. 下面以创建mysql自定义监控项为例,分享如何创建zabbix自定义监控项. ...

  5. 前台json遍历拼装

    //添加角色. $.ajax({ type: "post", url: "/sysRole/list", data: {page: 1, limit: 1000 ...

  6. 从一个小Bug,到Azure DevOps

    1. 一个小Bug 最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量.那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错.经过排 ...

  7. x86汇编反编译到c语言之——(1)表达式求值及赋值语句

    一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...

  8. python之元编程

    一.什么是元编程 元编程是一种编写计算机程序的技术,这些程序可以将自己看作数据,因此你可以在运行时对它进行内省.生成和/或修改. Python在语言层面对函数.类等基本类型提供了内省及实时创建和修改的 ...

  9. Go语言核心36讲(Go语言实战与应用十七)--学习笔记

    39 | bytes包与字节串操作(下) 在上一篇文章中,我们分享了bytes.Buffer中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展. 知识扩展 问题 1:byte ...

  10. Atcoder Grand Contest 016 F - Games on DAG(状压 dp)

    洛谷题面传送门 & Atcoder 题面传送门 如何看待 tzc 补他一个月前做的题目的题解 首先根据 SG 定理先手必输当且仅当 \(\text{SG}(1)=\text{SG}(2)\). ...