Linux1——NFS的文件存取权限

合集下载

linux管理文件权限实训

linux管理文件权限实训

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服务的主配置文件

Linux1  NFS服务的主配置文件

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文件权限脚本使用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服务的安全问题

Linux1  NFS服务的安全问题

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-权限管理(文件权限)

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命令改变的。

find:‘runuser1000gvfs’:权限不够的解决办法

find:‘runuser1000gvfs’:权限不够的解决办法
现在,再使用命令 find / -name *** 查找东西就清爽多了。
楼主写的教没有问题提示密码错误是因为先启动服务后导入用户密码后要再重启freessh服务才会生效
find: ‘runuser1000gvfs’:权限不够的解决办法
Linux使用命令 find / -name *** 查找文件的时候会遇到以下报错: find: ‘/run/user/1000/gvfs’: 权限不够
明明用的是root用户,为什么权限不足呢? 官方说这是一个bug[bug#615848],原因是FUSE文件系统和权限不配的问题,全局搜索时碰到它就会退出报错。 其实这个目录是空的,查不查都没关系。所以,以下解决方式比较简粗暴:
umount /run/user/1000/gvfs // 卸载该文件 rm -rf /run/user/1000/gvfs // 删除该文件

nfs 参数

nfs 参数

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默认文件权限

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的表示方式、文件权限的计算以及文件默认权限的修改等方面的内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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)的权限时,用户才具有对该文件的可写入权限。

相关文档
最新文档