Linux 系统NTFS-3G 权限的配置详解

这个知识点居然没有记录,果然时间长久以后就会遗忘,遂记录。

一般情况下,我们在 Linux 下挂载 ntfs,是安装 ntfs-3g 后进行的,即:

# mount -t ntfs-3g /dev/sdb1 /mnt/data
这样临时解决下可以,但是会涉及到权限问题,就是说,/mnt/data 下的所有文件都必须 root 权限。于是我们加入一些参数让当前用户也可以访问修改:

# mount -t ntfs-3g -o uid=username,gid=users /dev/sdb1 /mnt/data      # uid 为当前用户名,gid 为users 用户组
一般人到此为止,临时需求嘛,不过强迫症表示,看到挂载的分区,所有文件都是 777 权限表示非常不爽,于是:

# mount -t ntfs-3g -o uid=username,gid=users,umask=022 /dev/sdb1 /mnt/data
umask 表示,去掉的权限。

SUGO
说到这里,补充下 Linux 的权限表示为 SUGO,第一位 s 表示 suid、sgid、sticky,一般用不到,后面附录顺带提一下,这里说下 UGO,三个位置,每个都用 rwx 来表示所拥有的权限,rwx 分别表示,读、写、执行(访问),分别用数字 4、2、1来表示,对应关系如下:

拥有者(U) 群组(G) 其他(O) 相应数字权限
r w x r w x r w x 权限
4 2 1 4 2 1 4 2 1 777
4 2 1 4 0 1 4 0 1 755
4 2 1 4 2 1 4 0 0 774
4 2 1 0 0 0 0 0 0 700
4 2 0 4 0 0 4 0 0 644
如此就明了,644 表示 u 拥有读写权限,g 拥有只读权限,o拥有只读权限。

umask、fmask、dmask
umask – 过滤目录与文件的权限
fmask – 过滤文件的权限
dmask – 过滤目录的权限
描述很清楚了,如果你想拥有 755 权限,那么 权限 = 777 - 022,每一位相减,得到 755,就是说,umask = 022 后,实际权限为 755,fmask、dmask 同理,如果想拥有 644 呢, 644 = 777- 133……

现在清楚了,上文我们设置的 umask=022,实际上,所有文件文件夹的权限都被设置为 755 了,这对于拥有 wine 的用户来说,不是一个好消息,那么我们就分别来设置 fmask 与 dmask。

# mount -t ntfs-3g -o uid=username,gid=users,fmask=133,dmask=022 /dev/sdb1 /mnt/data
于是,我们最终得到的文件权限为 644,文件夹权限为 755,以上写入 fstab 中一开机就挂载的话,就是如此:

/dev/sdb1 /mnt/data ntfs-3g uid=username,gid=users,fmask=133,dmask=022 0 0
附录
SUGO 中的 S,表示 suid、guid、sticky 之和,而 suid、guid、sticky 分别用 4、2、1 来表示相关权限。

即:

suid+guid+sticky 之和 表示
4 + 2 + 1 7 suid + guid + sticky
4 + 2 + 0 6 suid + guid
4 + 0 + 1 5 suid + sticky
4 + 0 + 0 4 suid
0 + 2 + 1 3 guid + sticky
0 + 2 + 0 2 guid
0 + 0 + 1 1 sticky
0 + 0 + 0 0 无
应用场景很多人都提过的,/etc/shadow 为 root 读写,普通用户也可以使用 passwd 来更改自己密码的原因。

suid: 只能作用在可执行文件上,当其他用户运行改执行文件时,会临时拥有该文件所有者的权限
sgid: 可以作用在目录或可执行文件上,也同样,临时拥有该文件或文件夹所有者的权限
sticky: 只能作用在目录,可以用来防删除,一旦拥有 sticky 属性是,除了目录所有者与 root,其他任何人都无法删除该目录下文件或子目录。

时间: 2024-10-09 04:22:12

Linux 系统NTFS-3G 权限的配置详解的相关文章

Linux系统下Kafka单机安装配置详解

说明:   操作系统:CentOS 6.x 64位   Kafka版本:kafka_2.11-0.8.2.1   实现目的:   单机安装配置kafka   具体操作:   一.关闭SELINUX.开启防火墙9092端口   1.关闭SELINUX   vi /etc/selinux/config   #SELINUX=enforcing #注释掉   #SELINUXTYPE=targeted #注释掉   SELINUX=disabled #增加   :wq! #保存退出   setenfo

Linux系统下mysqlcheck修复数据库命令(详解)_Mysql

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

Linux服务器下nginx的安全配置详解_nginx

Nginx是一个轻量级,高性能的Web服务器/反向代理和电子邮件 代理(IMAP/POP3),它可以运行在UNIX,GNU/Linux,BSD变种,MAC OS X,Solaris和Microsoft Windows上.根据Netcraft的调查数据显示,互联网上6%的域名都使用了Nginx Web服务器.Nginx是解决C10K问题的服务器之一,与传统服务器不一样,Nginx不依赖于线程处理请求,相反,它使用了一个更具扩展性的事件驱 动(异步)架构.Nginx在很多高流量网站上得到了应用,如W

Linux系统下安装MySQL的步骤详解

如下是我工作中的记录,介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单! 需要的朋友可以按照如下步骤进行安装,可以快速安装MySql,希望可以帮助大家:)! 1.下载mysql的linux版本的二进制安装包: 地址:http://dev.mysql.com/download... 这里我将安装包重命名为:tingyun-mysql-5.6.22.tar.gz 说明:根据自己需要可以不进行重命名操作 2.解压安装包: 在需要

(总结)CentOS Linux下VNC Server远程桌面配置详解

PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较完整的.下面的配置在CentOS5.x和6.x.SUSE企业版亲测验证,其他发行版按理也通用: 一.安装相应桌面环境与vnc服务端和客户端:# yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环境)# yum groupinstall "X Window Sy

Linux系统Shell命令常用功能使用详解

  Linux系统中Shell不仅仅是一个命令,而且是其他命令的解释器.可以调试其他命令,从而完成编译.那么Linux系统中Shell命令应该怎么使用呢? 其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构.使用Shell编程类似于DOS中的批处理文件,称为Shell script,又叫Shell程序或Shell命令文件. Shell基本语法 像高级程序设计语言一样,Shell也提供说

清理Linux系统垃圾文件操作方法图文步骤详解

在Linux系统中管理垃圾文件并没那么简单,虽然产生的Linux垃圾文件比较少,但随着对Linux系统的操作难免会产生各种软件安装包.软件残余.浏览器缓存文件和文档缓存文件等等,对这些垃圾文件进行清理可以缓解系统空间容量,有效提高系统运行速度,下面介绍下利用命令清理Linux垃圾文件操作教程. 一.clean 命令删除所有的软件安装包. 在网络连接正常的情况下,我们执行软件安装命令,软件安装结束后,以 .deb 为后缀的软件包就不再需要了.这种情况和 Windows 平台.手机的安卓平台上的情况

linux系统iostat监测IO状态使用详解

Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. 1. 基本使用 $iostat -d -k 1 10 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示10次.     tps:该设备每秒的传输次数(Indicate the number of transfers per

Linux系统parted命令硬盘分区使用详解

parted的基本操作 输入parted命令,进入parted管理界面,如果没有指定硬盘,parted命令会默认选择第一个硬盘为当前操作硬盘. [root@a ~]# parted GNU Parted 1.8.1 使用 /dev/hda Welcome to GNU Parted! Type 'help' to view a list of commands. 输入help查看可进行的操作 (parted) help                                       

Linux系统的Shell I/O重定向详解

I/O重定向详解及应用实例 1.基本概念(这是理解后面的知识的前提,请务必理解) a.I/O重定向通常与 FD有关,shell的FD通常为10个,即 0-9: b.常用FD有3个,为0(stdin,标准输入).1(stdout,标准输出).2(stderr,标准错误输出),默认与keyboard.monitor.monitor有关: c.用 < 来改变读进的数据信道(stdin),使之从指定的档案读进: d.用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案: