首页 > 系统相关 >Linux文件权限管理

Linux文件权限管理

时间:2022-12-28 11:45:59浏览次数:54  
标签:文件 txt -- chmod passwd Linux 权限

文件属性的第一列,由10个字符组成,第1个字符是文件类型,之后9个字符每3个为1组,每组里的字符代表权限。
这3组称之为ugo权限,就是划分文件对应所属分组的权限。

u: --user 文件的所有者
g: --group 文件的所属组
o: --other 其他用户
权限的分类
r: --read 读权限,数字表示为4
w: --write 写权限,数字表示为2
x: --execute 执行权限,数字表示为1
示例:ll -h /etc/passwd
-rw-r--r-- 1 root root 1.6K Aug 3 11:15 /etc/passwd
该文件的所有者所属组都是root,所有者权限为rw,读写,属组和其他用户均为r,只读权限。

chmod -- 修改或者设置文件的权限

# 语法,chmod可以使用数字或字母两种方式给文件授权
chmod 选项 文件

# 数字方式授权
chmod 777 passwd

# 字母方式授权,可以同时做多个授权,用 , 号分隔
chmod o=r passwd
chmod go+rw passwd

# 取消权限 -
chmod g-w passwd

chown -- 修改文件的所有者和所属组

# 语法
chown [-R] user[.group] 文件或目录

# 示例,同时修改passwd的所有者为priv2,属组为priv1
chown priv2.priv1 passwd

# 递归修改目录的所有者和所属组,会同时作用于目录里面的文件及目录
chown -R priv3.priv4 /priv/

特殊权限

suid:作用于可执行命令,当用户执行该命令时,会临时获得这个命令的所有者的权限。在u位上用s表示。
sgid:作用于可执行命令,当执行该命令时,会临时获得这个命令所属组的权限,sgid也可以作用于目录,那么其他用户在该目录下创建的文件的所属组会继承该目录的所属组。在g位上用s表示。
sticky:一般作用于所有人都有全部权限的目录上,用来限制用户只能删除自己的文件,不能够删除其他用户的文件。在o位上用t表示。
:添加suid、sgid、sticky权限时,如果原来相应的位置上没有x权限,那么小写的s或者t会变成大写的S或者T。

# suid 使用 4 开头后3位正常授权
chmod 4757 1.txt           # 实际权限表示:-rwsr-xrwx

# sgid 使用 2 开头后3位正常授权
chmod 2755 1.txt           # 实际权限表示:-rwxr-sr-x

# sticky 使用 1 开头后3位正常授权
chmod 1777 1.txt           # 实际权限表示:-rwxrwxrwt

# 使用字母方式授权
chmod u+s,g+s,o+t 1.txt    # 实际权限表示:-rwsrwsrwt

ACL权限

ACL主要是针对单一用户、单一文件或者目录对rwx权限进行细分。可以针对用户、群组还有umask进行设置。
# 设置ACL权限使用 setfacl 命令,对目录设置默认ACL权限,在目录内创建的文件会继承目录的ACL权限
# 语法
setfacl 选项 u|o:用户名|组:权限 文件名

# 选项
-m    # 设置acl权限,示例,给用户tom该文件rwx权限:setfacl -m u:tom:rwx test.txt
-x    # 移除单个用户的acl权限,示例:setfacl -x u:tom test.txt
-b    # 移除全部用户的acl权限,示例:setfacl -b test.txt

# 查看acl权限使用 getfacl 命令
getfacl test.txt

chattr -- 改变文件属性(使其不能删除和修改,对root也生效)

# 选项有多个,一般常用的是i和a,只要使用了chattr命令添加了权限,root用户也不能删除该文件,会报错不允许的操作
# 添加i权限则该文件完全不能修改,添加a权限则该文件只能追加内容不能修改(一般适用于日志文件)
# 示例
chattr +a passwd
chattr +i passwd

# 查看该权限只能使用 lsattr 命令,使用ls -l并不能查看到该权限。
chattr +a 1.txt
lsattr 1.txt                # 结果:-----a-------e-- 1.txt

# 去除权限
chattr -a passwd
chattr -i passwd

标签:文件,txt,--,chmod,passwd,Linux,权限
From: https://www.cnblogs.com/tandabao/p/17009772.html

相关文章

  • C#提示指定的路径或文件名太长问题解决办法
    我用的是.net4.0的环境,直接在app.config配置文件中加几行配置就行。如下图:<configuration><runtime><AppContextSwitchOverridesvalue="Switch.System.IO.......
  • Linux文件查找查看
    文件类型区分即文件权限的第一个,如:-rw-r--r--,则该文件属于普通文件-普通文件d目录c字符设备文件,终端就是一个典型b......
  • 【服务器数据恢复】ocfs2文件系统被格式化为Ext4文件系统的数据恢复案例
    服务器故障:用户误操作将linux文件系统误装入到Ocfs2文件系统的数据卷上,导致原始Ocfs2文件系统被格式化为Ext4文件系统。因为Ext4文件系统每隔几百兆就会写入文件系统的原......
  • linux下,pipe的容量的讨论与查看(转)
    原文:https://blog.51cto.com/momo462/18258521、pipe的容量2.6标准版本的linux内核,pipe缓冲区是64KB,尽管命令ulimit-a看到管道大小8块,缓冲区的大小不是4k,因为内核动......
  • php 批量大文件上传下载
    ​PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时间......
  • SpringBoot MultipartFile 上传文件null
    开发环境Springboot1.5.2使用方法,一开始直获取文件为null,不加required=false接口无法访问@PostMapping("/import")publicvoidimportTest(@RequestParam(v......
  • vue环境配置文件详解
    一.什么是配置文件1.在vue项目目录下,我们可以看到诸如package.json、.gitignore、package-lock.json等等能配置项目的结构、引用的库、运行的方式、版本控制等等的都称为......
  • 在 Linux 上微调 Nginx 获得最佳性能的 8 种方法
    转载来自:Linux迷链接:https://www.linuxmi.com/linux-nginx-performance.htmlNGINX是一种流行的、免费的开源Web服务器。默认的NGINX配置足以让Web服务器正常工作。......
  • Linux C printf无法输出到nohup.out文件上
    使用nohup./bin/out&后台运行程序时,发现cout可以输出到nohup.out文件里,但是printf不行;联想是不是缓冲区未满不输出导致: 但我有加"\n";  ????这个原因就不清楚了;然后......
  • 【SSM框架】MyBatis核心配置文件详解
    1.MyBatis核心配置文件之environments<!--environments:配置多个连接数据库的环境属性:default:设置默认使用的环境的id--><environmentsdefault="development"><!......