Linux/Centos文件授权用户文件夹权限介绍
一、Linux文件权限介绍
在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(excute)权限。目录的执行操作表示是否有权限进入该目录并操作执行该目录,文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定权限。
1.1、查看文件权限示例
[root@hhm ssm]# ls -la
total 59596
drwxr-xr-x 2 root root 1024 Nov 18 15:44 .
drwxrwxr-x 6 zsitd zsitd 40 Nov 6 14:39 ..
-rw-r--r-- 1 root root 150 Jul 27 10:02 appsettings.Development.json
-rw-r--r-- 1 root root 542 Nov 3 13:52 appsettings.json
-rw-r--r-- 1 root root 32145 May 12 2020 dotnet-aspnet-codegenerator-design.dll
-rw-r--r-- 1 root root 21 Nov 6 14:27 host.json
-rw-r--r-- 1 root root 25674 Jun 17 22:02 Microsoft.AspNetCore.Authentication.JwtBearer.dll
权限说明:
可以看到文件的权限,-rw-rw-r-- ,一共有10位数.。
- 最前面那个 - 代表的是类型(-代表文件,d代表目录,l代表连接)
- 中间那三个 rw- 代表的是所有者(user)
- 然后那三个 rw- 代表的是组群(group)
- 最后那三个 r-- 代表的是其他人(other)
权限部分:
r 表示文件可以被读(read) ,用数字表示为:4
w 表示文件可以被写(write) ,用数字表示为:2
x 表示文件可以被执行(如果它是程序的话) ,用数字表示为:1
-表示相应的权限还没有被授予,用数字表示为0,
权限的不同组合,如rwx用数字表示则为7,r-x用数字表示则为5,以此类推。那么一个文件的权限(所有者、所属组及其他)就可能是如下的情况:
- -rw------- (600) 只有所有者才有读和写的权限
- -rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
- -rwx------ (700) 只有所有者才有读,写,执行的权限
- -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
- -rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
- -rw-rw-rw- (666) 每个人都有读写的权限
- -rwxrwxrwx (777) 每个人都有读写和执行的权限
图解:
需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。
二、补充
特殊权限SUID、SGID、Sticky
在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd
SGID(Set Group ID, 4):
对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用 s 表示,如:
$ ls -l /var
drwxrw s r-x 2 root staff 4096 Apr 10 2014 local
drwxrwxr-x 15 root syslog 4096 Apr 4 19:57 log
Sticky, 1:
仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用 t 表示。
$ ls -l /
drwxrwxrw t 8 root root 4096 Apr 4 23:57 tmp
三、修改文件及文件夹对应用户权限操作
如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改。
3.1、加减赋值操作
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)
在终端输入:chmod o+w xxx.xxx
chmod o w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限chmod ug-r xxx.xxx
Linux/Centos文件授权用户文件夹权限介绍的更多相关文章
- CentOS Linux SVN服务器 配置用户目录访问 权限 Authorization failed
SVN 修改 aurhz 文件设置用户目录访问权限格式: [/code] user=rw user 用户对code目录拥有读和写的权限. 但是访问 svn://192.168.1.59 的时候却提示A ...
- Linux Centos 通过虚拟用户访问FTP的配置
Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...
- linux CentOS中创建用户 无密码登录
首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop: 接 ...
- linux —— 学习笔记(用户管理与权限控制)
目录:1.用户的创建和管理 2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...
- Linux 服务器上建立用户并分配权限
查看用户 whoami #要查看当前登录用户的用户名 who am i #表示打开当前伪终端的用户的用户名 who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 - ...
- Linux中给普通用户添加sudo权限
使用Linux系统时,经常会被要求使用超级权限,但是root的权限太过大了,一般慎用!!!因此可以通过给普通用户添加sudo权限,平常用普通用户进行操作,当需要root权限的时候进行sudo操作.以下 ...
- linux怎么设置vsftp用户访问目录权限
1.在指定的目录创建文件夹(访问的目录): mkdir picture 2.创建一个用户组(zdhgroup): groupadd zdhgroup 3.创建一个用户并指定路径和组: useradd ...
- Centos下普通用户设置sudo权限
若执行sudo命令的用户没有sodu权限,则会报以下错误 violet is not in the sudoers file.This incident will be reported 若想让vio ...
- 【linux】FTP添加用户,设置权限和目录
一.目的,新建一个用户 test2,登录ftp,它只有自己的主目录权限,其他同级和上级目录没有权限 二.ftp安装.配置 yum -y install vsftpd //通过yum来安装vsftpd ...
- Mac/Linux/Centos终端中上传文件到Linux云服务器
1.mac上传文件到Linux服务器 scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...
随机推荐
- element ui Tree树形控件获取未全选父节点和子节点id
Tree树形控件选中状态 在做分配权限的时候如图选择了父节点的某些子节点,现在父节点是半选中状态,使用this.$refs.tree.getCheckedKeys()只能拿到当前的子节点,子节点全选才 ...
- Python3.6,3.7,3.8版本对比
本文列举了Python3.6.3.7.3.8三个版本的新特性,学习它们有助于提高对Python的了解,跟上最新的潮流. 一.Python3.6新特性 1.新的格式化字符串方式 新的格式化字符串方式,即 ...
- Linux之搭建sftp
0.查看openssh的版本 ssh -V #使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 groupadd sftp ...
- java/spring项目打成jar包供第三方引用方案
分类 单独工具类 比如StringUtils 注入类工具类 实现 单独工具类 将项目打jar包 项目结构 开始打包: 在目标项目中pom引用直接使用 注入类工具类 当我们想要利用SpringBoot封 ...
- 解决node报错ERR_OSSL_EVP_UNSUPPORTED
"scripts": {//修改启动dev方式 "dev": "SET NODE_OPTIONS=--openssl-legacy-provider ...
- 编译器-FIRST集合
语法分析器的两个重要函数 FIRST和FOLLOW FIRST的定义 FIRST(α),可从α推导得到的串的首符号的集合 1.如果X是一个终结符,那么FIRST(X) = X 2.如果X是一个非终 ...
- uni-app项目button组件去不掉的灰色边框爬坑
前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app. 坑位 最近在开发个人 ...
- liunx安装docker,portainer,mysql,rabbitMQ,nacos
由于公司框架迭代了,故此写个随笔,记录一下,方便日后回顾 1.准备 阿里云服务器(liunx CentOS 7.6) 2.前置工作 (1)查看系统版本 lsb_release -a (2)查看系统以及 ...
- 【C#】【桌面应用开发】拖拽文件到文本框获得所拖拽文件的路径
步骤1:设置文本框属性 设置文本框属性,将属性AllowDrop改为True 使其允许拖拽文件 步骤2: 在控件事件管理中双击DragEnter,添加事件 private void Form_sett ...
- 一场因OpenJDK引发的血案 之JavaFx
https://zhuanlan.zhihu.com/p/103765203 案发现场 最近做了个项目,本地调试通过了,可在服务器上部署时却编译失败,报错如下 编译失败的原因是缺少javafx.uti ...