Linux 文件权限、系统优化

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 [用户名](一般用在脚本文件中) 
- 免交互模式:
 切换用户信息:
su和su -- 二者区别就是
su是切换用户,但是切换后的用户缺少相应的文件或环境变量;su -相当于重新登录,切换后的用户携带环境变量或相应文件 - 通过
pwd和echo $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,设置成功+ 
 - 在profile文件内添加
 

【待续】
Linux 文件权限、系统优化的更多相关文章
- 修改linux文件权限
		
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
 - Linux:文件权限
		
Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...
 - Linux 文件权限总结
		
在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...
 - Linux&shell 之Linux文件权限
		
写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...
 - linux文件权限整理
		
网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...
 - 修改linux文件权限命令:chmod 【转载】
		
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod 命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...
 - linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)
		
文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...
 - Linux 文件权限于目录配置
		
用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...
 - Linux文件权限与属性详解 之 SUID、SGID & SBIT
		
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
 
随机推荐
- ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征
			
 前言 人脸表情识别(FER)在计算机视觉领域受到越来越多的关注.本文介绍了一篇在人脸表情识别方向上使用Transformer来学习关系感知的ICCV2021论文,论文提出了一个TransFER ...
 - printf("%d\n",printf("%d",printf("%d",i)));
			
#include <stdio.h> int printf( const char *format, ... );首先 得看printf的返回类型是 int 这个函数的返回值是 你输出的位 ...
 - [luogu5423]Valleys
			
先考虑不要求有洞,那么可以将所有权值排序,然后不断插入,那么一个连通块就是一个答案,加上连通块大小即可考虑并查集如何判断是否有洞,可以发现对于任意一个无洞的直角多边形,都有$90度内角-90度外角=4 ...
 - 发布项目到maven中央仓库
			
https://www.xiaominfo.com/2017/04/25/swagger-bootstrap-ui-issue-maven-central/?tdsourcetag=s_pcqq_ai ...
 - myeclipse配置pydev插件
			
下载PyDev插件 myeclipse10最好配PyDev2.7的版本,比较简单, 解压之后,进入文件夹.发现里面只有两个文件夹,将这两个文件夹复制 到myeclipse的文件下面,myeclipse ...
 - 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
			
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
 - 洛谷 P5391 - [Cnoi2019]青染之心
			
洛谷题面传送门 介绍一种假做法,期望复杂度应该比较优秀,但可以卡掉( 首先这个问题显然严格强于只有添加元素的情况对吧,而只有添加元素的情况就是一个普通的背包,而只有插入操作的版本复杂度就已经达到了 \ ...
 - Linux系统编程之命名管道与共享内存
			
在上一篇博客中,我们已经熟悉并使用了匿名管道,这篇博客我们将讲述进程间通信另外两种常见方式--命名管道与共享内存. 1.命名管道 管道是使用文件的方式,进行进程之间的通信.因此对于管道的操作,实际上还 ...
 - Python基础之数字类型内置方法
			
目录 1. 整型内置方法(int) 2. 浮点型内置方法 3. 常用操作 1. 整型内置方法(int) 用途:年龄,号码,等级等 定义: age = 18 常用操作 # 算数运算.比较运算 age = ...
 - mysql—mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’
			
运行结果中提示Unknown column 'xxx' in 'where clause'的问题.经过大神的指导,顿时明白其中缘由,如果sql中定义的类型是int型的可以不用加引号,但是如果是字符串类 ...