Ubuntu文件权限的学习

本文介绍了Linux中文件和文件夹权限的基本概念,包括如何使用ls命令查看权限,以及chmod命令用于设置文件/文件夹的访问权限。同时,文章详细解释了umask的作用,以及如何通过chown和chgrp命令修改文件的所有者和所属组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终端输入“ls -l”或“ls-ld”查看文件或文件夹权限:

drwxr-xrw-1 user group 6394 2011-09-22 12:11:23 filename

一、属性介绍

从左往右所表示内容依次为:

1.

【d】:表示文件目录;

其他,如:

【-】:表示为文件;

【b】:表示为设备文件中可供存储的接口设备;

【l】:表示为链接文件;

【c】:表示为设备文件中的串行端口设备,如:鼠标、键盘等;

2.

rwxr-xr-x 表示文件/文件夹的权限属性,r-读,w-写,x-执行;其中权限x比较特殊,只有目标文件对于用户来说是可执行的或目标文件为目录时才赋予,如果需要允许其他用户(非owner用户)访问某目录,则必须赋予权限x;

从左往右:rwx表示owner的权限,r-x表示group的权限,rw-表示其他用户的权限;

3.

【user】:文件/文件夹的拥有者;

【group:文件/文件夹所属用户组;

4.

6394:文件大小;

【2011-09-22 12:11:23】 : 日期;

【filename:文件名或目录名;


二、相关操作

命令:chmod

作用:设定文件/文件夹的访问权限;

语法:

1.

使用umask设定,如:chmod 755 /usr/lib/test1;其中755即为权限,后面即为目标文件/目录;

关于umask:r-4,w-2,x-1;755三位,分别对应owner、group、其他用户的权限;755=rwxr-xr-x;

下表是umask值与默认权限的对照表:

umask 文件默认权限 目录默认权限

0                    6                     7

1                    6                     6

2                    4                     5

3                    4                     4

4                    2                     3

5                    2                     2

6                    0                     1

7                    0                     0

对于文件,可以理解umask的作用为屏蔽权限位,例如:

umask 022,创建的默认文件将不屏蔽所属用户的权限,屏蔽同组用户的w权限,屏蔽其他用户的w权限,于是文件的默认权限为755,更简便的方法是用777减去022,得到755

操作时如提示没有权限,在命令行前面加上 sudo获得权限;


2.

使用r、w、x表示权限,o、g、u、a表示所属,=、+、-表示权限变化

其中:r-读,w-写,x-执行,o-owner,g-group,a-所有用户,

            =:为指定用户赋予指定权限,并删除之前所拥有的所有权限;

            -:删除指定权限;

           +:增加指定权限;

如:chmod -R a+x file,为所有用户增加权限x;


命令:chown

作用:将指定文件/目录的拥有者改为指定的用户/组;

语法:chown 【选项】用户/组 文件/目录


命令:chgrp

作用:更改指定文件/目录所属组;

语法:chgrp 【选项】group file

### Ubuntu 系统中用于开放文件权限的命令 #### 1. **chmod 命令** `chmod` 是用来改变文件或目录权限的主要命令。它可以设置读 (`r`)、写 (`w`) 和执行 (`x`) 权限给文件的所有者、所属组和其他用户。 - 数字模式:使用三位八进制数表示权限,例如 `777` 表示所有人拥有全部权限。 - 符号模式:通过加减法指定具体权限变化,如 `u+x` 给文件所有者增加可执行权限。 ```bash sudo chmod 777 /path/to/folder/or/file ``` 这条命令会将 `/path/to/folder/or/file` 的权限设为所有人都能读取、写入和执行[^1]。 --- #### 2. **chown 和 chgrp 命令** 除了修改权限外,有时还需要更改文件的所有者或所属组来实现更灵活的访问控制。 - 更改文件所有者: ```bash sudo chown newowner /path/to/file ``` - 同时更改所有者和组: ```bash sudo chown newowner:newgroup /path/to/file ``` - 如果仅需更改组归属关系则可用如下方式完成操作: ```bash sudo chgrp newgroup /path/to/file ``` 以上三条语句分别实现了把某路径下的对象转移至另一名用户管理之下或将之重新分类进入新的群组当中去的目的[^3]。 --- #### 3. **umask 参数调整默认新建文件权限** 当创建新文件或者目录的时候,默认不会自动获得最大可能范围内的授权状态;而通过调节 shell 环境变量 umask 就可以让这种情况有所改善。较低数值意味着更加宽松自由的态度对待新生事物们。 查看当前 umask 设置: ```bash umask ``` 临时改变 session 内的有效值直到退出终端为止: ```bash umask 000 ``` 永久生效的话需要编辑个人配置文件 ~/.bashrc 或全局级别/etc/profile 文件追加上述相同形式的一行代码即可[^4]。 --- #### 4. **SELinux/AppArmor 配置(高级场景下适用)** 在某些增强型安全机制启用的情况下单纯依靠常规手段未必足以达成预期效果。这时候就得涉及到更为复杂的层面诸如 AppArmor 规则定制或者是关闭强制模式转为宽容模式运行等措施了。 检查 selinux 工作状况: ```bash getenforce ``` 切换成 permissive 模式而不破坏既有规则集结构: ```bash setenforce 0 ``` 至于 apparmor 方面同样存在对应的状态查询以及禁用加载特定 profile 功能的方法论可供参考学习[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值