Linux1——NFS的文件存取权限
- 格式:doc
- 大小:127.00 KB
- 文档页数:2
linux管理文件权限实训
Linux 文件权限管理是非常重要的,它涉及到文件和目录的访
问控制。
在 Linux 中,每个文件和目录都有一组权限,这些权限决
定了谁能够访问文件或目录以及他们能够做什么。
下面是一些实践
中常见的文件权限管理任务:
1. 查看文件权限,使用 ls -l 命令可以列出文件的详细信息,包括文件权限。
2. 修改文件权限,使用 chmod 命令可以修改文件的权限。
例如,chmod u+r file.txt 可以给文件所有者添加读权限。
3. 修改文件所有者和所属组,使用 chown 和 chgrp 命令可以
修改文件的所有者和所属组。
4. 理解权限表示法,文件权限可以用数字或符号表示。
例如,rwxr-xr-可以用 755 或 u=rwx,g=rx,o=r 来表示。
在实践中,您可以创建一些测试文件和目录,然后尝试使用上
述命令来管理它们的权限。
您可以尝试不同的权限设置,并验证不
同用户对这些文件的访问情况。
这样可以帮助您更好地理解和掌握Linux 文件权限管理的技能。
Linux1 NFS服务的主配置文件/etc/exports文件是NFS服务的主要配置文件,该文件用于设置服务器的共享目录,以及目录允许访问的主机、访问权限以及其它选项等。
在更改配置/etc/exports 文件后,需要通过exportfs命令使更改后的配置生效。
默认情况下,NFS安装完成后会在/etc/目录下创建一个空白的exports文件,即没有任何的共享目录,用户可以通过使用“vi /etc/exports”命令来查看该文件,如图3-11所示。
在配置NFS服务器时需要对其进行手工编辑。
这是基于安全性的考虑,这样即使系统启动NFS服务也不会输出任何共享资源。
图3-11 默认exports文件内容当用户手动编辑该文件时,需要明白,文件中的每一行都可以定义一个共享目录,其格式为:共享目录[客户端1(选项1,选项2,...)] [客户端2(选项1,选项2,...)]...。
其中,共享目录与各客户端之间以空格进行分隔,除共享目录以外,其它的选项内容都是可选的。
注意共享目录与客户端之间、客户端与客户端之间都需要使用空格分隔,但是客户端和选项之间不能够使用空格。
1.共享目录共享目录就是NFS系统中需要共享给客户端使用的输出目录。
2.客户端客户端是指网络中可以访问这个NFS共享目录的计算机。
客户端的指定非常灵活,可以是单个计算机的IP地址或域名,也可以是某个子网或域中的计算机等。
客户端常用的指定方式如表3-1所示表3-1 客户端常用指定方式3.选项选项用来设置输出目录的访问权限、用户映射等。
exports文件中的选项比较多,一般可分为以下3类。
●访问权限选项访问控制选项主要是用于控制共享目录访问权限的选项。
该类选项只有ro和rw 两项,如表3-2所示。
表3-2 访问权限选项●用户映射选项默认情况下,当客户端访问NFS服务器时,若远程访问的用户是root用户,则NFS服务器会将它映射成一个本地的匿名用户(该用户账户为nfsnobody),并将它所属的用户组也映射成匿名用户组(该用户组账户也为nfsnobody),这样有助于提高系统的安全性。
Linux文件权限脚本使用Python设置和管理文件权限在Linux系统中,文件权限是一种重要的安全措施,它可以确保只有授权用户才能对文件进行读、写和执行等操作。
本文将介绍如何使用Python编写脚本来设置和管理Linux文件的权限。
一、理解Linux文件权限在Linux系统中,每个文件和目录都有自己的权限。
权限分为三类:所有者(Owner)、所属组(Group)和其他用户(Others)。
每一类用户都可以有读(r)、写(w)和执行(x)权限。
文件权限用数字表示,r对应4,w对应2,x对应1。
比如,读写权限就是4+2=6,读写执行权限是4+2+1=7,没有权限为0。
二、使用Python设置文件权限首先,我们需要导入Python的os模块,该模块提供了许多与操作系统交互的函数。
```pythonimport os```接下来,我们可以使用以下代码来设置文件的权限:```pythonos.chmod('/path/to/file', 0o755)```以上代码将文件`/path/to/file`的权限设置为755,即所有者具有读写执行权限,所属组和其他用户具有读和执行权限。
如果你想保留文件已有的权限,可以使用以下代码:```pythonold_permissions = os.stat('/path/to/file').st_modeos.chmod('/path/to/file', old_permissions | stat.S_IRWXU |stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) ```以上代码会将权限设置为与原文件相同。
三、使用Python管理文件权限除了设置文件权限,我们还可以使用Python脚本来管理文件权限,例如检查文件权限、更改文件权限等。
1. 检查文件权限```pythondef check_permissions(filepath):permissions = os.stat(filepath).st_modecheck_owner = permissions & stat.S_IRWXU == permissionscheck_group = permissions & stat.S_IRWXG == permissions check_others = permissions & stat.S_IRWXO == permissions if check_owner and check_group and check_others:print("该文件对所有用户可读写执行")elif check_owner and check_group:print("该文件对所有用户可读写,其他用户只能执行") elif check_owner:print("该文件只对所有者可读写执行")else:print("其他权限设置")```以上代码会根据文件的权限输出相应的提示信息。
Linux1 NFS服务的安全问题Linux系统的NFS服务相当于Windows系统上的文件共享服务,也许有许多人认为这是一个不恰当的比喻,但是2者在安全问题上却有惊人的相似。
正如,Windows计算机上的安全问题大多来自共享资源一样,NFS服务的错误配置,也很容易令用户的系统被入侵者入侵。
.NFS建立在RPC(远程过程调用)机制上,同样地,基于RPC机制上的NT 系统的服务也不安全,针对Windows共享资源的攻击是当前Internet上最流行的攻击方式,而对NFS的攻击也是入侵者攻击Linux平台计算机的最常用手段。
1.NFS主配置文件/etc/exports在大多数Linux系统的缺省情况下,在编辑/etc/exports目录时,如果用户不指定共享目录的只读(ro)权限,那么该目录为可读写(rw)权限。
另外,NFS的访问控制文件很容易出现错误配置,很多情况下配置为可以被网上任何一台计算机访问,远程用户可以使用“showmount -e IP地址(主机名)”命令来查看NFS服务器是否有NFS的配置漏洞。
例如,用户使用“showmount -e 192.168.0.100”命令,来查看NFS服务器上的共享目录,可能出现如图3-59所示结果。
图3-59 查看共享目录这表明/nfs/IT、/nfs/share、/nfs/public和/home/public目录可以被任何一台计算机挂载(mount),甚至可能有写的权限;而/tmp目录则指定了主机访问限制,必须是IP地址为“192.168.0.20”的计算机才能够进行挂载(mount)。
入侵者大多都会先用这个命令来查询目标计算机上的NFS漏洞,且现在流行的入侵方式已经从以前的对确定目标的攻击方式转变为不管对方是谁,只要有机可乘就入侵的方式。
入侵者可能会写一个脚本或者一个程序,用来对一大段IP地址进行扫描,并能够列出扫描结果以及报告给自己。
所以,正确的配置是非常重要的。
Linux-权限管理(⽂件权限)Linux - 权限管理(⽂件权限)⼀:基本权限1.基本权限介绍基本权限类型类型全拼释义权限位r read可读4w write可写2x execute可执⾏1权限的归属归属字母属主u属组g其他⽤户o2.设置权限修改属主、属组# 修改⽂件:1.txt的属主为:darker 属组为:human[root@localhost ~]# chown darker.human 1.txt# 修改⽂件:1.txt的属主为:darker[root@localhost ~]# chown darker 1.txt# 修改⽂件:1.txt的属组为:human[root@localhost ~]# chown .human 1.txt# 递归修改⽬录:file1的属主为:darker 属组为:human[root@localhost ~]# chown -R darker.human file1修改u、g、o对应的权限# 加减法# 修改⽂件:1.txt的权限为:属主为u 属组为w[root@localhost ~]# chmod u+x,g-w 1.txt# 赋值法# 修改⽂件:1.txt的权限为:所有⽤户为rwx[root@localhost ~]# chmod a=rwx 1.txt# 修改⽂件:1.txt的权限为:-[root@localhost ~]# chmod a=- 1.txt# 修改⽂件:1.txt的权限为:属主属组为rw 其他⽤户为r[root@localhost ~]# chmod ug=rw,o=r 1.txt# 数字# 修改⽂件:1.txt的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 7771.txt# 递归修改⽬录:file1的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 777 file1注意:把某⼀个⾮属主⽤户添加到⽂件的属组⾥,他就拥有了该组的权限,⽽不再是其他⼈权限对⽂件/⽬录的意义⽂件:ls -l ⽂件名权限释义r可以cat读取⽂件内容w可以修改⽂件x 可以执⾏⽂件代码,如果该⽂件的代码是编译好的结果那么只有x权限即可执⾏但如果该⽂件的代码是⼀个解释型的脚本程序则需要配合r权限才可执⾏⽬录:ls -dl ⽂件名权限释义r可以ls浏览⽂件下的内容w可以在⽬录下创建新⽂件or⽬录x 可以执⾏⽬录下的程序,除了对⽬录有执⾏权限外,还要对程序⽂件有执⾏权限才⾏可以正常cd切换到⽬录下涉及到多层⽬录如/a/b/c,需要对每⼀级都有x权限才可以正常⾛到下⼀级对⽂件夹的操作(不操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件夹有r或w权限权限释义r可以浏览w可以创建、删除、移动⼦⽂件和⼦⽬录对⽂件的操作(操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件有r或w权限权限释义r可以读取⽂件内容w可以修改⽂件内容注意点:vim修改的原理是将原⽂件删掉,然后再将内容的内容覆盖写⼊了新⽂件,新⽂件名重命名为原⽂件名验证vim修改的原理# (root⽤户)切换到/usr/local⽬录[root@localhost local]# cd /usr/local# (root⽤户)递归创建test01/dir1⽬录[root@localhost local]# mkdir -p test01/dir1# (root⽤户)递归修改⽬录test01权限为733[root@localhost local]# chmod -R 733 test01# (root⽤户)在test01⽬录下创建1.txt并写⼊内容“123”[root@localhost local]# echo "123" > test01/1.txt# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt123# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:其他⽤户只有(r)读的权限[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 root root 4 Nov 2510:02 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:02:58.471562017 -0500Modify: 2020-11-2510:02:58.471562017 -0500Change: 2020-11-2510:02:58.471562017 -0500Birth: -# 切换到其他⽤户/⽤其他⽤户登录PS C:\Users\Darker> ssh darker@192.168.50.101darker@192.168.50.101's password:[darker@localhost ~]$ whoamidarker# (普通⽤户)⽤vim打开/usr/local/test01⽬录下的1.txt[darker@localhost ~]$ vim /usr/local/test01/1.txt123~~~"/usr/local/test01/1.txt" [readonly] 1L, 4C 1,1 All # [readonly] 只读# 按i进⼊插⼊模式-- INSERT -- W10: Warning: Changing a readonly file# (普通⽤户)修改1.txt的内容,强制保存并退出456Esc:wq!# 回到原来的root⽤户的窗⼝# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt456# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:属主和属主变了[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 darker darker 4 Nov 2510:21 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ darker) Gid: ( 1000/ darker)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:30:54.822530748 -0500Modify: 2020-11-2510:21:17.823541511 -0500Change: 2020-11-2510:21:17.824541511 -0500Birth: -结论vim修改⽂件时:会将原⽂件删除,⽣成新的⽂件,属主和主组会变成修改的那个⽤户和⽤户所在的组⼆:特殊权限权限权限位SUID4SGID2权限权限位SBIT1SUID1.疑问普通⽤户既不是root也不属于root组,因此它对/etc/shadow⽂件没有任何权限(全是---)# 查看/etc/shadow信息[darker@localhost ~]# ll /etc/shadow----------. 1 root root 970 Nov 2407:29 /etc/shadow但是:普通⽤户为何可以⽤passwd直接修改密码?并且修改的是/etc/shadow⽂件,如何实现的?[darker@localhost ~]$ ll `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd这⾥可以看到,本应为rwx的第三个x变成了s,这就是s权限2.s权限的特殊之处SUID权限仅对⼆进制可执⾏⽂件有效(对⽬录⽆效)如果执⾏者对于该⼆进制可执⾏⽂件具有x的权限,执⾏者将具有该⽂件的所有者的权限本权限仅在执⾏该⼆进制可执⾏⽂件的过程中有效3.权限设定的⽅法字母表⽰法chmod u+s 可执⾏⽂件 # 给属主添加s权限chmod u-s 可执⾏⽂件 # 删除属主的s权限数字表⽰法(第1位4表⽰SUID,后3位表⽰普通权限 rwx)chmod 4755可执⾏⽂件 # 添加SUID权限到⼆进制可执⾏⽂件chmod 0xxx ... # 可以删除⽂件的SUID(但是⽆法删除⽬录的SUID)4.实例# (root⽤户)查看which cat[root@localhost ~]# ll `which cat`-rwxr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:没有权限(普通⽤户虽然是r-x,但是⽆法直接查看)[darker@localhost local]$ cat /etc/shadowcat: /etc/shadow: Permission denied# (root⽤户)修改 which cat 权限[root@localhost ~]# chmod u+s `which cat` # 或者 chmod 4755 `which cat`#(root⽤户)再次查看which cat[root@localhost ~]# ll `which cat`-rwsr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:有权限了[darker@localhost local]$ cat /etc/shadowroot:$6$Jvw3z/jmU1ASO4P1$vpTJ5OGEtfBOmIpjyK55k87iQPHXCC3.kKOFW9jkyslqC2DMdN7SZdT/zYRfmQ4hBAQXG6CQ4kKdRQ8eFqChf.::0:99999:7::: bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::...5.上例的⼯作原理环境前提:Linux中有1个⼆进制程序:cat,属组属组都是rootLinux中有⼀个系统⽂件:/etc/shadow,属组属组是: root:root有⼀个普通⽤户:darker普通⽤户:darker 属于其他⽤户,对⼆进制程序:cat 有执⾏(x)的权限普通⽤户:darker 对系统⽂件:/etc/shadow 没有任何权限默认情况下:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程该进程的属主属组是该程序的发起者:darker,也就是: darker:darkercat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:darker:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主属组不匹配,所以被拒绝访问了:Permission denied给⼆进制程序:cat 设置SUID之后:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程执⾏者对于该⼆进制可执⾏⽂件具有 x 的权限,执⾏者将拥有该⽂件的属组的权限该进程属主是程序的发起者:darker,属组是cat原来的:root,属主属组就是:darker:rootcat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:root:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主匹配,可以正常访问SGID1.权限设定的⽅法字母表⽰法chmod g+s ⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod g-s ⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限数字表⽰法(第1位2表⽰SGID,后3位表⽰普通权限 rwx)chmod 2755⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod 0755⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限chmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰[root@localhost ~]# ll 1.txt-rwxr-sr-x. 1 root root 3243 Nov 2515:411.txt3.SGID相关说明作⽤在⼆进制可执⾏⽂件上时:执⾏有SGID权限的程序时,该⽤户将继承该程序的属组权限作⽤在⽬录上时:该⽬录下所有⽤户新建的⽂件都会⾃动继承该⽬录的属组当⼀个⽤户对某⼀⽬录有写和执⾏权限时,该⽤户就可以在该⽬录下建⽴⽂件如果该⽬录同时⽤SGID修饰,则该⽤户在这个⽬录下建⽴的⽂件都是属于这个⽬录的属组4.实例# (root⽤户)切换到/usr/loca/⽬录并创建⽬录:test02[root@localhost ~]# cd /usr/local[root@localhost local]# mkdir test02# (root⽤户)查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-xr-x. 2 root root 6 Nov 2514:19 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:1.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/1.txt[root@localhost local]# ll /usr/local/test02/1.txt-rw-r--r--. 1 root root 0 Nov 2514:19 /usr/local/test02/1.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:2.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/2.txt[darker@localhost ~]$ ll /usr/local/test02/2.txt-rw-rw-r--. 1 darker darker 0 Nov 2514:20 /usr/local/test02/2.txt# (root⽤户)修改⽬录:test02 的权限[root@localhost local]# chmod 2773 test02# (root⽤户)再次查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-sr-x. 2 root root 6 Nov 2514:20 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:3.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/3.txt[root@localhost local]# ll /usr/local/test02/3.txt-rw-r--r--. 1 root root 0 Nov 2514:21 /usr/local/test02/3.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:4.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/4.txt[darker@localhost ~]$ ll /usr/local/test02/4.txt-rw-rw-r--. 1 darker root 0 Nov 2514:21 /usr/local/test02/4.txtSBITSBIT 是the restricted deletion flag or sticky bit的简称,有时也称为Sticky,粘滞位SBIT 与 SUID 和 SGID 的关系并不⼤1.权限设定的⽅法字母表⽰法chmod o+t ⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod o-t ⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Sticky数字表⽰法(第1位1表⽰添加Sticky位,后3位表⽰普通权限 rwx)chmod 1755⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod 0755⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Stickychmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰⽂件other位有x权限,并且⽤t代替了,表⽰被设置了Sticky如果other位没有x权限,会显⽰为⼤写T,表⽰有故障(权限⽆效)[root@localhost local]# ls -dl test03drwxr-xr-t. 2 root root 18 Nov 2514:34 dir013.相关说明对于⼀个多⼈可写的⽬录,如果设置了sticky,则每个⽤户仅能删除和改名⾃⼰的⽂件/⽬录只能作⽤在⽬录上,普通⽂件设置⽆意义,⽽且会被Linux内核忽略⽤户在设置 Sticky 权限的⽬录下新建的⽬录不会⾃动继承Sticky权限4.实例# (root⽤户)切换到 /usr/loca/⽬录[root@localhost ~]# cd /usr/local# (root⽤户)递归创建test03⽬录及2个⼦⽬录dir1和dir2[root@localhost local]# mkdir -p test03/dir{1,2}# (root⽤户)创建2个⽤户:user01、user02[root@localhost local]# useradd user01[root@localhost local]# useradd user02# (root⽤户)分别设置dir1和dir2的属主属组为user01和user02[root@localhost local]# chown -R user01:user01 test03/dir1[root@localhost local]# chown -R user02:user02 test03/dir2# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxr-xr-x. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# (root⽤户)修改⽬录:test03 的权限[root@localhost local]# chmod 1777 test03# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxrwxrwt. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# 切换到普通⽤户:user01[root@localhost local]# su - user01# !测试(普通⽤户)切换到test03⽬录[user01@localhost ~]$ cd /usr/local/test03# !测试(普通⽤户)查看当前⽬录下的信息[user01@localhost test03]$ lltotal 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# !测试(普通⽤户)⽤户user01将dir1重命名为dir11[user01@localhost test03]$ mv dir1 dir11# !测试(普通⽤户)⽤户user01将dir2重命名为dir22[user01@localhost test03]$ mv dir2 dir22mv: cannot move ‘dir2’ to ‘dir22’: Operation not permitted# !测试(普通⽤户)⽤户user01在dir11⽬录中创建⽂件:1.txt[user01@localhost test03]$ touch dir11/1.txt# !测试(普通⽤户)⽤户user01在dir2⽬录中创建⽂件:2.txt[user01@localhost test03]$ touch dir2/2.txttouch: cannot touch ‘dir2/2.txt’: Permission denied5.注意点SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件:⽐较常见的例⼦就是/tmp⽬录权限信息中最后⼀位t表⽰该⽬录被设置了 SBIT 权限SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹(⽬录)三:chattr引⾔你是否遇到过⽂件或⽬录具有可读写权限,但是使⽤root⽤户删除、修改时提⽰"Operation not permitted"的情况?可能是由chattr设置了⽂件的隐藏保护权限导致通过chattr命令修改⽂件或⽬录属性能够提⾼系统的安全性与chmod命令相⽐,chmod只是改变⽂件的读写、执⾏权限,更底层的属性控制是由chattr命令改变的。
nfs 参数NFS(Network File System)是一种分布式文件系统,可以让多个计算机通过网络共享文件。
在使用NFS时,需要设置一些参数来控制其行为和性能。
本文将详细介绍NFS参数的含义和设置方法。
一、NFS参数概述在Linux系统中,NFS参数主要包括以下几个方面:1. NFS服务端参数:这些参数用于控制NFS服务器的行为,例如共享目录、权限等。
2. NFS客户端参数:这些参数用于控制NFS客户端的行为,例如挂载远程目录、缓存大小等。
3. RPC(Remote Procedure Call)参数:这些参数用于控制RPC通信的行为,例如超时时间、连接数等。
4. TCP(Transmission Control Protocol)参数:这些参数用于控制TCP通信的行为,例如缓存大小、拥塞控制等。
5. UDP(User Datagram Protocol)参数:这些参数用于控制UDP 通信的行为,例如超时时间、最大传输单元等。
二、NFS服务端参数1. exportsexports文件是NFS服务器配置文件中最重要的部分之一。
它包含了所有需要共享给客户端的目录及其相关信息。
每个条目都由以下几个字段组成:<export-path> <client-options>其中,<export-path>表示需要共享的目录路径;<client-options>表示客户端可以使用的选项,例如权限、读写方式等。
例如:/home/user1 192.168.0.0/24(rw,all_squash)这个条目表示将/home/user1目录共享给192.168.0.0/24网段的客户端,并且允许读写操作,同时将所有客户端的UID和GID映射到匿名用户。
2. no_subtree_checkno_subtree_check参数用于控制NFS服务器是否检查共享目录的子目录。
linux默认文件权限在Linux操作系统中,默认文件权限包括读取(r),写入(w)和执行(x)权限。
这三种权限可以被分配给文件的所有者(Owner)、同组用户(Group)和其他用户(Other)。
以下将详细介绍在Linux中默认文件权限的相关知识。
1. 文件权限的表示方式:在Linux中,文件权限用三个字符表示,分别为r(读取)、w(写入)和x(执行)。
此外,还有减号(-)表示无权限的情况。
文件权限字符的顺序是固定的,按照从左到右的顺序依次表示所有者、同组用户和其他用户的权限。
例如,-rwxr-xr代表所有者有读取、写入和执行权限,同组用户有读取和执行权限,其他用户只有读取权限。
2. 默认权限的设置:在Linux系统中,默认文件权限是通过umask(用户文件创建属性掩码)来设置的。
Umask是一种屏蔽权限,在每次新建文件或目录时,会从文件和目录的权限中去掉umask中定义的权限位。
3. umask的表示方式:umask的值用八进制表示,一般以数字形式给出。
例如,umask值为0022表示文件权限中屏蔽掉组和其他用户的写入权限。
另外,umask值可以使用三位表示,分别对应所有者、同组用户和其他用户的权限位。
4. 文件权限的计算:在Linux中,文件权限是根据用户的umask值来计算的。
默认情况下,新建的文件的权限为0666减去umask的值,而新建的目录的权限为0777减去umask 的值。
这样就确保了新建的文件默认没有执行权限,而目录默认具有执行权限。
5. 文件默认权限的修改:可以通过修改umask值来改变新建文件或目录的默认权限。
通常,umask的值在用户的配置文件(如.bashrc)中进行设置。
使用umask命令可以查看当前用户的umask值,使用umask加数字可以临时改变umask的值。
以上是关于Linux默认文件权限的一些知识,包括文件权限的表示方式、默认权限的设置、umask的表示方式、文件权限的计算以及文件默认权限的修改等方面的内容。
如何在Linux终端中查看和修改文件权限文件权限是Linux系统中非常重要的概念,它控制着对文件的访问、读写和执行等操作。
在Linux终端中,我们可以使用一些简单的命令来查看和修改文件权限。
本文将介绍如何在Linux终端中进行这些操作。
一、查看文件权限1.使用ls命令查看文件权限:在Linux终端中,使用ls命令可以列出当前目录下的文件和文件夹。
在ls的输出结果中,文件权限信息以一串字符的形式显示。
例如:```-rw-r--r--```其中,第一个字符表示文件类型,后面的字符分为三组,每组三个字符代表了文件所有者、文件所属组和其他用户对文件的权限。
2.解读文件权限:文件权限由九个字符组成,每个字符代表不同的权限或属性。
这九个字符中,前面的字符用于表示文件类型,后面的九个字符分为三组,每组三个字符代表了文件的读、写和执行权限。
```-rw-r--r--```上面的例子中,第一个字符"-"表示这是一个普通文件。
后面三个字符"rw-"表示文件所有者对文件具有读写权限,接下来的三个字符"r--"表示文件所属组用户对文件具有读权限,最后的三个字符"r--"表示其他用户对文件具有读权限。
每个权限的含义如下:- r:读权限,用于允许读取文件或查看文件内容。
- w:写权限,用于允许修改文件或添加新内容。
- x:执行权限,用于允许执行文件。
二、修改文件权限1.使用chmod命令修改文件权限:在Linux终端中,使用chmod命令可以修改文件或目录的权限。
chmod的语法为:```chmod [选项] 权限文件名/目录名```例如,要将文件test.txt的所有者和所属组的写权限去除,可以使用以下命令:```chmod u-w,g-w test.txt```这里的"u"表示所有者,"g"表示所属组,"w"表示写权限的去除。
Linux1 NFS概述Samba是主要用于实现Linux与Windows操作系统之间文件共享的协议,而NFS则是实现Unix与Linux操作系统之间文件共享协议。
NFS(Network File System,网络文件系统)最早是由Sun公司于1984年开发出来的,现在已经成为文件服务的一种标准。
NFS的主要目的就是让不同计算机不同操作系统之间可以彼此共享文件(share files),由于NFS使用起来非常方便,因此很快得到了大多数的UNIX/Linux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC3010标准。
NFS作为一种分布式文件系统,提供了一种在网络上的计算机间输出文件的方法,文件就如同位于用户计算机的本地磁盘上一样。
NFS采用典型的客户端/服务器(C/S)工作模式,这意味着它可以将文件系统导出给其它系统,也可以挂载从其它计算机上导入的文件系统。
Red Hat Enterprise Linux 5.4系统既可以作为NFS服务器,把文件系统导出给其它系统使用,也可以是NFS客户端,挂载从其它主机上导入的文件系统。
例如,在NFS服务器上将/nfs/public目录设置为输出目录(即共享目录)后,其它客户端就可以将这个目录挂载到自己系统中的某个目录下,这个目录可以与服务器上的输出目录和其它客户端计算机中的目录不相同,如图3-1所示,客户端计算机1与计算机2的挂载目录就不相同。
如果某用户登录到客户端计算机1并进入/mnt/nfs目录,那么他就可以看到NFS服务器内/nfs/public目录下的所有子目录及文件,只要具有相应的权限,就可以使用cp(复制)、cd(改变目录)、mv(移动)、rm(删除)和df(查看分区空间)等命令对磁盘或文件进行相应的操作。
NFS客户端图3-1 NFS服务器共享目录与客户端挂载示意图另外,数据传输需要使用端口,NFS也不例外,但NFS在传输数据时使用的端口是随机选择的(小于1024)。
Linux1 NFS的安装目前,几乎所有的Linux版本都已默认安装了NFS服务,Red Hat Enterprise Linux 5自然也不例外。
用户只要是按照默认配置安装Red Hat Enterprise Linux 5.4系统,NFS服务就会被安装在系统中。
由于启动NFS服务时需要使用nfs-utils和portmap这2个软件包,因此,务必确保这2个软件包已经安装。
在Red Hat Enterprise Linux 5.4系统中的终端窗口中,输入“rpm -q nfs-utils portmap”命令,并按【回车】键即可查看相应的软件包是否安装,如图3-4所示,从图中返回信息可以看出当前系统已经安装了NFS服务和portmap服务。
图3-4 查看安装信息如果系统中尚未安装这2项服务,可以将Red Hat Enterprise Linux 5.4第1张安装光盘放入光驱,当系统加载光驱完成后,在终端中,输入“mount /dev/cdrom /mnt”命令,并按【回车】键,如图3-5所示。
这样可以将光盘文件挂载到本地计算机mnt 目录下。
图3-5 挂载光盘内容接着,用户可以查看光盘中的内容,如需这样,只需输入“ls /mnt”命令,并按【回车】键,即可查看到mnt目中所包含的内容,如图3-6所示。
图3-6 查看挂载光盘内容由于服务程序的rpm安装包通常位于Server目录下。
通过输入“ls /mnt/Server | grep nfs”命令,并按【回车】键,即可查看到所有与nfs有关的安装包,其中,nfs-utils-1.0.9-16.e15.i386.rpm是安装nfs服务时所需的rpm安装包,如图3-7所示。
图3-7 查看nfs相关安装包同样,通过输入“ls /mnt/Server | grep portmap”命令,并按【回车】键,即可查看到该程序的rpm安装包“portmap-4.0-65.2.2.1.i386.rpm”,如图3-8所示。
Linux1 配置NFS服务器实现LINUX之间的互访NFS又称网络文件系统,实现在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,适用于不同操作系统之间的文件传输,可在异种网络上输出和挂载远程文件系统,实现跨平台的文件访问功能。
1.实例目的:●挂载光盘文件至目录●安装nfs软件包●编辑配置文件●输出共享目录2.实例步骤:(1)右击桌面空白区域,执行【打开终端】命令,在打开的终端窗口中,输入“mount /dev/cdrom /media”命令,并按【回车】键,挂载光盘至/media目录下,如图3-79所示。
图3-79 打开终端(2)输入“cd /media/Server”命令,并按【回车】键,进入/media/Server目录,如图3-80所示。
图3-81 进入目录(3)输入“ls | grep nfs*”命令,并按【回车】键,列出rpm安装包,如图3-81所示。
图3-81 列出nfs安装包(4)输入“rpm –ivh system-config-nfs-1.3.23-1.e15.noarch.rpm”,并按【回车】键,安装“system-config-nfs-1.3.23-1.e15.noarch.rpm”软件包,如图3-82所示。
图3-82 安装软件(5)输入“service portmap start”命令,按【回车】键,输入“service nfs start”命令,按【回车】键,分别启动portmap和nfs服务,如图3-83所示。
图3-83 启动服务(6)输入“vi /etc/exports”命令,并按【回车】键,进入vi编辑器,如图3-84所示。
图3-84 进入vi编辑器(7)在配置文件中按“i”键,进入插入模式,并输入“/root/share * 192.168.0.250 (ro,sync)”,然后按【Shift+;】组合键,进入末行模式,输入“wq”命令,按【回车】键,保存配置,如图3-85所。
Linux1 客户端可使用的挂载参数客户端的挂载对于用户来讲非常简单,只需要使用简单的命令即可实现。
但是,在挂载时也存在一些安全问题。
例如,用户挂载到本机/home/nfs/public的文件系统中包含有一个脚本(script)文件,而该脚本文件的内容为“rm -rf”,文件权限为555,如果用户不小心执行了这个脚步文件,则整个系统都将被删除,因此,在使用时需要格外小心。
为了保证NFS文件系统的安全性,用户在挂载时可以通过mount的命令参数来实现,如表3-5所示列出了mount命令的主要参数。
表3-5 mount命令主要参数设置用户权限(SUID)即Set User ID,主要作用就是让本来没有相应权限的用户运行这个程序时,从而达到可以访问没有权限访问的资源的目的。
提示一般来讲,如果NFS服务器提供的只是类似/home目录中的个人数据,那么应该不需要可执行、SUID与装置文件等功能,因此,客户端在挂载的时候,可以使用“mount -t nfs -o nosuid,noexec,nodev,rw IP地址(主机名):共享目录挂载点”命令进行挂载,这样被挂载的文件系统只能作为数据存取只用,对于客户端来讲是比较安全的。
例如,客户端用户挂载IP地址为“192.168.0.100”的NFS服务器上的共享目录“/nfs/share”到本机挂载点“/home/nfs/public”下,可以使用“mount -t nfs -o nosuid,noexec,nodev,rw 192.168.0.100:/nfs/share /home/nfs/public”命令,如图3-45所示。
然后,使用“mount”命令即可查看挂载目录的详细信息。
图3-45 使用mount参数进行挂载1.NFS特殊挂载参数除了上述mount的主要参数之外,针对NFS服务器,Linux系统还提供了一些特殊参数。
因为,NFS使用的是RPC服务,所以这个RPC需要客户端与服务器2端都启用RPC才能够运行。
linux默认文件权限摘要:1.Linux 文件权限简介2.Linux 文件权限的表示方法3.Linux 文件默认权限的设置4.Linux 文件权限的修改方法5.Linux 文件权限的应用实例正文:Linux 默认文件权限是操作系统在创建文件时赋予文件的初始权限。
这些权限决定了文件所有者、所属组和其他用户可以对文件执行哪些操作。
Linux 文件权限分为读(read)、写(write)和执行(execute)三种,每种权限可以针对所有者、所属组和其他用户进行设置。
在Linux 中,文件权限用数字表示,每一位数字代表一种权限,从左到右依次为读、写、执行权限。
例如,一个文件的权限为755,表示该文件所有者具有读、写、执行权限(7),所属组具有读、执行权限(5),其他用户具有读、执行权限(5)。
Linux 文件默认权限的设置取决于文件类型和创建方式。
一般而言,文本文件默认权限为644,二进制文件默认权限为755。
在Linux 中,可以使用chmod 命令来修改文件权限。
例如,要将一个文件的权限修改为所有者具有读、写、执行权限,所属组具有读、执行权限,其他用户具有读、执行权限,可以使用以下命令:```chmod 755 文件名```Linux 文件权限在实际应用中有很多场景。
例如,为了防止其他用户误删或篡改某个文件,可以将该文件的权限设置为只有所有者具有写权限:```chmod 600 文件名```此外,还可以使用umask 命令在创建新文件时设置默认权限。
例如,要将新文件的默认权限设置为所有者具有读、写、执行权限,所属组具有读、执行权限,其他用户具有读、执行权限,可以使用以下命令:```umask 0022```总之,Linux 文件权限对于保障文件安全和管理文件访问权限具有重要意义。
linux用户创建文件的默认权限Linux用户创建文件的默认权限在Linux系统中,每个文件和目录都有一个属主和一组权限。
属主是文件的所有者,权限规定了对文件的读、写、执行等操作的权限。
当一个用户在Linux系统中创建文件时,新文件的权限是由默认文件权限设置决定的。
在某些情况下,默认权限可能不符合用户的要求,因此这些权限可以通过修改默认文件权限来进行更改。
Linux中的权限包括读、写和执行权限,这些权限由数字表示。
默认文件权限设置可以由三个数字构成,分别代表属主、组和其他用户的权限。
属主权限编号(数字表示): 0:---,没有权限 1:--x,可以执行 2:-w-,可以写入 3:-wx,可以写和执行4:r--,可以读取 5:r-x,可以读取和执行 6:rw-,可以读和写 7:rwx,可以读、写和执行示例:属主权限编号是755,表示属主具有读、写、执行权限,组和其他用户只具有读、执行权限。
在默认情况下,新文件的权限为666或644,具体权限设置取决于umask设置。
umask是一种掩码,当一个新文件或目录被创建时,它会从新文件或目录的权限中移除umask的值。
例如,如果umask设置为022,则新文件的默认权限为644(666-022=644),这意味着属主有读写权限,其他用户只有读取访问权限。
如果umask设置为002,则新文件的默认权限为664(666-002=664),除了属主和组用户具有读取和写入权限外,其他用户只能读取访问权限。
与默认文件权限和umask相对应的是默认目录权限和dmask。
默认目录权限是在创建新目录时将其应用的权限。
再次提醒大家,Linux中的权限通常使用数字表示,其中7表示rwx、5表示r-x、3表示-wx等。
例如,chown myuser mydir将目录mydir的所有权转移到myuser。
设置默认目录权限为700(rwx权限只限属主):chmod 700 mydir。
linux 默认权限Linux是一种开源操作系统,被广泛运用于服务器和个人计算机中。
在Linux中,文件和目录都有默认的权限设置,这些权限决定了用户对文件和目录的访问权限。
本文将介绍Linux的默认权限设置,并探讨其重要性和应用。
一、默认权限概述在Linux中,每个文件和目录都有一组默认权限,包括读取(r)、写入(w)和执行(x)权限。
这些权限是用三个字符(r、w、x)表示的,分别对应于文件所有者、所属组和其他用户的权限。
默认权限设置在文件和目录创建时自动应用,确保合适的访问控制和数据安全。
二、文件的默认权限对于文件来说,默认权限设置决定了用户对文件的操作权限。
默认情况下,文件的所有者具有读写权限,所属组的成员和其他用户则只具有读取权限。
这样的权限设置可以保护文件的机密性和完整性,确保只有授权用户才能修改或执行文件。
三、目录的默认权限对于目录来说,默认权限设置决定了用户对目录的操作权限。
默认情况下,目录的所有者具有读写权限,所属组的成员具有读取权限,而其他用户则没有任何权限。
这样的权限设置可以保护目录中的文件不被未授权用户访问、修改或删除。
四、权限的数字表示除了使用字符表示权限外,Linux还可以使用数字表示权限。
读取权限用数字4表示,写入权限用数字2表示,执行权限用数字1表示。
将这些数字相加,可以得到一个三位数,用来表示文件或目录的权限。
例如,权限为rwxr-xr--可以用数字表示为754,其中7表示所有者权限,5表示所属组权限,4表示其他用户权限。
五、权限的修改在Linux中,可以使用chmod命令来修改文件和目录的权限。
该命令可以通过字符或数字来指定权限的修改方式。
例如,使用chmod u+x filename命令可以给文件的所有者添加执行权限,而使用chmod 644 filename命令可以将文件的权限设置为rw-r--r--。
六、默认权限的重要性默认权限设置在Linux系统中起着重要的作用。
linux默认文件权限值(最新版)目录1.Linux 文件权限概述2.Linux 默认文件权限值3.文件权限的表示方法4.修改文件权限的方法正文1.Linux 文件权限概述在 Linux 系统中,每个文件和目录都有相应的权限设置,用以控制用户对文件和目录的访问权限。
Linux 文件权限主要分为读(read)、写(write)和执行(execute)三种,分别对应数字表示法中的 4、2 和 1。
通过组合这三个权限,可以得到九种不同的权限组合,分别对应用户(user)、组(group)和其他(other)三种身份。
2.Linux 默认文件权限值Linux 系统默认的文件权限值为:读、写、执行(4-2-1),即用户具有读、写、执行权限,而组和其他用户只具有读和执行权限。
这种权限设置可以保证文件的完整性和安全性,防止非法用户对文件进行篡改或恶意操作。
3.文件权限的表示方法Linux 系统中文件权限的表示方法是:r(读)w(写)x(执行)r (读)w(写)x(执行)。
其中,第一个字符表示文件所有者(user)的权限,第二个字符表示文件所属组(group)的权限,第三个字符表示其他用户(other)的权限。
比如,如果一个文件的权限为“rwxr-xr-x”,则表示文件所有者具有读、写、执行权限,而组和其他用户只具有读和执行权限。
4.修改文件权限的方法要修改文件权限,可以使用 Linux 系统中的 chmod 命令。
chmod 命令的基本语法为:```chmod [ugoa][+-=][rwx] 文件或目录名```其中,- u 表示文件所有者(user),g 表示文件所属组(group),o 表示其他用户(other),a 表示所有用户(all,包括文件所有者和组)。
- +表示添加权限,-表示删除权限,=表示设置权限。
- r 表示读(read),w 表示写(write),x 表示执行(execute)。
Linux命令行技巧如何在多个文件中查找指定文件权限在Linux系统中,命令行是进行各种操作和管理的重要工具。
当我们需要查找多个文件中的特定文件权限时,可以借助一些命令行技巧来简化这个过程。
本文将介绍如何使用`find`和`ls`命令在多个文件中查找指定的文件权限。
1. 使用find命令查找指定文件权限`find`命令是Linux系统中功能强大的查找工具,可以通过指定条件来查找文件。
下面是使用`find`命令在多个文件中查询指定文件权限的基本语法:```bashfind 目录路径 -type f -perm 权限模式```其中,`目录路径`表示待查找的目录的路径,`-type f`表示查找的对象是文件,`-perm 权限模式`表示需要匹配的文件权限。
下面是一个例子:```bashfind /path/to/directory -type f -perm 644```上述命令将在`/path/to/directory`目录及其子目录中查找文件权限为644的文件。
你可以根据自己的需求修改目录路径和权限模式。
2. 利用find命令查找多个文件的权限有时候,我们需要在多个文件中同时查找指定文件权限。
可以利用通配符和管道符号将多个文件的路径传递给`find`命令。
下面是一个示例:```bashfind dir1 dir2 -type f -perm 644```上述命令将在`dir1`和`dir2`目录中查找文件权限为644的文件。
你可以根据实际情况增加或减少目录路径。
3. 使用ls命令查找指定文件权限除了`find`命令外,`ls`命令也可以用于查找指定文件权限。
`ls`命令用于列出文件和目录的信息,通过结合不同的选项,可以查找具有指定权限的文件。
下面是一个示例:```bashls -l | grep "^-.-.-r--"```上述命令将在当前目录下列出所有权限为只读(644)的文件。
Linux1——NFS的文件存取权限
用户在使用NFS客户端上的某一用户身份(如yl)去存取/nfs/share这个来自NFS服务器上的文件系统时,会存在一个身份认证问题,即NFS服务器会允许用户以yl去存取文件系统还是其它身份。
由于NFS本身并没有身份认证机制,所有当用户在客户端以某一身份(如yl)来存取服务器端的文件系统时,服务器会以客户端用户的UID与GID等身份来尝试读取服务器端的文件系统,而在此存在一个客户端与服务器端的用户身份不一致的问题,因此了解NFS文件存取权限十分必要,如图3-10所示为NFS服务器与客户端的用户身份确认示意图。
其中,UID是用户身份证明(User Identification)的缩写。
在NFS中,UID是文件所有者的用户ID,是一个32位无符号整数;GID是所有组的组ID,是一个32位的整数,GID 0是给名为“root”的组保留的。
NFS客户端
图3-10 NFS服务器与客户端的用户身份确认示意图
当用户以yl这个一般用户身份去存取来自服务器端的文件系统时,一般情况下,Linux主机会主动以自己的/etc/passwd、/etc/group来对比查询对于的用户名及组名。
所有当yl进入到该目录后,会对比NFS客户端的用户名与组名。
但由于该目录的文件来自NFS服务器,因此可能包括以下一些情况:
1.有相同的账号与组
如果NFS服务器与NFS客户端刚好存在相同的账号与组,那么此时用户可以直接以yl的身份对服务器所提供的文件系统进行存取。
2.UID相同但用户名不同
如果NFS服务器上的/etc/passwd配置文件中UID 501的使用者名称为yy时,则客户端的yl可以存取服务器端的yy这个使用者的文件系统。
这是因为2者具有相同的UID。
但这同时也带来了很大的安全问题了。
因为没有人可以保证客户端的UID所对应的账号会与服务器端相同,那么非法的使用者就可能会对服务器端所提供的数据进行修改,从而带来安全隐患。
3.NFS服务器端没有客户端的UID
另一个极端的情况是,在服务器端并没有501这个客户端UID的存在,则此时yl的身份在该目录下会被压缩成匿名用户,一般情况下,NFS的匿名用户会65534作为它的UID,早期的Linux版本通常都将65534这个账号称为nobody,而在Red Hat Enterprise Linux 5.4中被称为nfsnobody(普通NFS用户)。
4.用户身份为root
root是Linux系统中较为特殊的用户,其UID为0。
如果客户端可以用root的身份去存取服务器端的文件系统,那么服务器端的数据就不会有任何的安全保证。
所有在默认情况下,root的身份会被自动压缩成为匿名用户。
总之,客户端用户能够进行的操作与其UID及其GID有关,如果当客户端与服务器端的UID及账号的对应不一致时,可能就会造成文件系统无法使用,这也是NFS文件系统在使用上面的一个很重要的地方。
而在了解用户账号与UID及文件系统的关系之后,要实际在客户端以NFS方式存取服务器端的文件系统时,用户还需要具有以下2个权限:
●NFS服务器有开放可写入的权限(与/etc/exports设置有关)。
●实际的文件权限具有可写入(w)的权限。
只有当用户满足用户账号(UID)的相关身份、NFS服务器允许客户端有写入的权限和文件系统确实具有写入(w)的权限时,用户才具有对该文件的可写入权限。