linux文件系统的权限王国(一)
linux文件访问权限(像rw-r--rw-是什么意思)
linux⽂件访问权限(像rw-r--rw-是什么意思)Linux的⽂件访问权限分为读、写、执⾏三种
r:可读(4)
w:可写(2)对⽬录来说则可新建⽂件
x:可执⾏(1)对⽬录来说则可进⼊该⽬录
可⽤ ls -l 查看⽂件
像上图的-rw-r--rw- 其中的第⼀个字符表⽰的是⽂件类型(- 表⽰普通⽂件,d 表⽰⽬录⽂件,c : 为字符串设备,若路由器等设备b : 块设备,硬盘、光驱等)后⾯的九个字符就是表⽰的⽂件权限了,每三个字符为⼀组
第⼀组(rw-):表⽰⽂件所有者的权限,上图中的⽂件的所有者为root⽤户,具备可读可写
第⼆组(r--):⽂件所属组的权限,上图中的⽂件所属组也为root组,具备可读
第三组(rw-):其他⼈的权限(跟本⽂件⽆关的⼈),具备可读可写
其实root⽤户可操作所有⽤户的⽂件
像这⾥的图中的两个root,第⼀个表⽰⽂件所有者,第⼆个则是⽂件所属组。
IT讲武堂–Linux文件系统权限探讨
访问控制列表(ACL)
• 为多用户或者组的文件和目录赋予访问权限rwx
• • • • • • mount -o acl /directory getfacl file |directory setfacl -m u:gandolf:rwx file|directory setfacl -m g:nazgul:rw file| directory setfacl -m d:u:frodo:re directory setfacl -x u:samwise file |directory
权限的优先顺序
• 如果UID匹配,就应用用户(user)权限 • 否则,如果GID匹配,就应用组群(group)权限 • 如果都不匹配,就应用其它(other)权限
权限类型
• 在显示权限时,使用了四种符号: • r:读取文件或者列举目录内容的权限
• w:写入文件或者在目录中创建、删除文件的权限
• x:执行程序或者转入目录、列举目录中的长内容列表的权限 • -:无权限(在r、w或x的位置上)
理解用户授权
• 授权用户zhangsan和lisi对/backup目录具有读写权限,是linux中最基本的 用户与权限管理,一般的做法是:把zhangsan和lisi用户加入到一个用户组 中,然后改变/backup目录的所属组为此用户组,再将所属组权限设置为 rw即可。 # groupadd admgroup # 添加用户组admgroup # gpasswd -a zhangsan admgroup # 将用户zhangsan加入用户组admgroup # gpasswd -a lisi admgroup # 将用户lisi加入用户组admgroup # grep admgroup /etc/group # 查看admgroup用户组的信息 admgroup:x:502:zhangsan,lisi # chgrp admgroup /backup # 改变/backup目录的所属组为admgroup # chmod g+w /backup # 给所属组添加w可写权限 # ls -ld /backup # 查看/backup目录详细信息 drwxrwxr-x 2 root admgroup 4096 May 20 08:19 /backup
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命令改变的。
Linux权限详解(chmod、600、644、666、700、711、755、777、4。。。
Linux权限详解(chmod、600、644、666、700、711、755、777、4。
权限简介Linux系统上对⽂件的权限有着严格的控制,⽤于如果相对某个⽂件执⾏某种操作,必须具有对应的权限⽅可执⾏成功。
Linux下⽂件的权限类型⼀般包括读,写,执⾏。
对应字母为 r、w、x。
Linux下权限的粒度有拥有者、群组、其它组三种。
每个⽂件都可以针对三个粒度,设置不同的rwx(读写执⾏)权限。
通常情况下,⼀个⽂件只能归属于⼀个⽤户和组,如果其它的⽤户想有这个⽂件的权限,则可以将该⽤户加⼊具备权限的群组,⼀个⽤户可以同时归属于多个组。
Linux上通常使⽤chmod命令对⽂件的权限进⾏设置和更改。
⼀、快速⼊门更改⽂件权限(chmod命令)⼀般使⽤格式chmod [可选项] <mode> <file...>参数说明:[可选项]-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显⽰其更改动作)-f, --silent, --quiet suppress most error messages (若该档案权限⽆法被更改也不要显⽰错误讯息)-v, --verbose output a diagnostic for every file processed(显⽰权限变更的详细资料)--no-preserve-root do not treat '/' specially (the default)--preserve-root fail to operate recursively on '/'--reference=RFILE use RFILE's mode instead of MODE values-R, --recursive change files and directories recursively (以递归的⽅式对⽬前⽬录下的所有档案与⼦⽬录进⾏相同的权限变更)--help 显⽰此帮助信息--version 显⽰版本信息[mode]权限设定字串,详细格式如下:[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]u 表⽰该档案的拥有者,g 表⽰与该档案的拥有者属于同⼀个群体(group)者,o 表⽰其他以外的⼈,a 表⽰所有(包含上⾯三者)。
【Linux】Linux文件权限问题,chmod修改文件权限不被允许
【Linux】Linux⽂件权限问题,chmod修改⽂件权限不被允许Linux⽂件权限问题,chmod修改⽂件权限不被允许
问题:更改""的操作,不被允许。
原因:chattr⽂件被chattr命令设置过权限,可以防⽌关键⽂件被修改
chattr 改变⼀个Linux⽂件系统上的⽂件属性。
a:让⽂件或⽬录仅供附加⽤途。
b:不更新⽂件或⽬录的最后存取时间。
c:将⽂件或⽬录压缩后存放。
d:将⽂件或⽬录排除在倾倒操作之外。
i:不得任意更动⽂件或⽬录。
s:保密性删除⽂件或⽬录。
S:即时更新⽂件或⽬录。
u:预防意外删除。
查看当前⽬标⽂件权限
lsattr /etc/resolv.conf
为某⽂件增加不可修改权限
chattr +i /etc/resolv.conf
为某⽂件解除不可修改权限
chattr -i /etc/resolv.conf。
Linux文件权限
1.1.1Linux文件权限在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
1.权限的表示方法使用ls -l或ll命令,可以列出文件和目录的详细信息,而文件的权限就包含在这些信息中。
使用以下命令查看当前工作目录中的文件:# ls -l执行完以上命令,将会显示如图3- 1所示的结果。
图3- 1 显示文件目录信息在上图中最左侧的一列显示文件属性。
文件属性共占用10个字符,由一个文件类型标识和3组权限属性组成,其构成如图3- 2所示。
文件拥有者对该文件拥有的权限与文件拥有者同组用户对文件拥有的权限其他用户对该文件拥有的权限图3- 2 Linux文件属性的构成文件权限是与用户账户和用户组紧密联系在一起的,在Linux系统中,可使用chmod命令来重新设置或修改文件或目录的权限,但只有文件或目录的拥有者或root用户才能有此更改权。
对于文件或目录,权限字符所代表的意义不同,解释如下:r(read):读取权限。
如果文件具有该权限,表示对应用户可读取文件的内容;如果目录具有该权限,表示对应用户可浏览目录。
w(write):写入权限。
如果文件具有该权限,表示对应用户可对文件进行新增、修改、删除内容操作;如果目录具有该权限,表示对应用户可删除、移动目录内的文件。
x(execute):执行权限。
如果文件具有该权限,表示对应用户可执行该文件(文件必须是可执行文件);如果目录具有该权限,表示对应用户可进入该目录。
-:若对应位置权限位为字符“-”,表示对应用户没有该位权限。
权限除了可用r、w、x来表示外,也可用一个3位的数字来表示,比如644,其百位上的数代表拥有者的权限,十位上的数代表拥有者所属的组中的用户的权限,个位上的数代表其他用户对该文件的权限。
这种采用数字来表示权限的方法,称为绝对权限表示法。
由于用户的权限是用rwx来表示的,没有的权限对应位置上用“-”表示,因此可用一个3位的二进制数来表示用户的权限,有权限的位置用1 表示,没有权限的位置用0表示,这样就会形成一个3位的二进制数编码,然后将该二进制数转换成对应的十进制数,这样就得到一个0~7的数,从而就可实现用十进制数来表示用户对文件的权限。
linux系统权限(基本权限)
linux系统权限(基本权限)linux的系统权限:r-- 100 4-w- 010 2--x 001 1[root@localhost ~]# ll -d dirdrwxrwxrwx 2 root root 18 Nov 512:21dir[root@localhost ~]# ll -d dir/file-rw-r--r-- 1 root root 0 Nov 512:21dir/file1).权限描述/root/dir的权限是所属⽤户root读写执⾏,所属组root读执⾏,其他⽤户读执⾏/root/dir/file的权限是所属⽤户root读写,所属组root读,其他⽤户读2)判断使⽤者的所属chown [user].[group] [-R] filename[root@localhost ~]# chown oldboy dir/[root@localhost ~]# ll -d dir/drw-r----- 2 oldboy root 51 Nov 521:01dir/[root@localhost ~]# chown .dba dir/[root@localhost ~]# ll -d dir/drw-r----- 2 oldboy dba 51 Nov 521:01dir/[root@localhost ~]# chown root.root dir/[root@localhost ~]# ll -d dir/drw-r----- 2 root root 51 Nov 521:01dir/[root@localhost ~]# chown oldboy:dba dir/[root@localhost ~]# ll -d dir/drw-r----- 2 oldboy dba 51 Nov 521:01dir/3)修改权限第⼀种⽅式:chmod [ugoa] [+-=] [rwx] [-R] filename[root@localhost ~]# chmod777dir/[root@localhost ~]# ll -d dir/drwxrwxrwx 2 root root 18 Nov 512:21dir/[root@localhost ~]# chmod go-w dir/[root@localhost ~]# ll -d dir/drwxr-xr-x 2 root root 18 Nov 512:21dir/[root@localhost ~]# chmod g=rwx,o= dir/[root@localhost ~]# ll -d dir/drwxrwx--- 2 root root 18 Nov 512:21dir/[root@localhost ~]# chmod a=rwx dir/[root@localhost ~]# ll -d dir/drwxrwxrwx 2 root root 18 Nov 512:21dir/[root@localhost ~]# chmod -R 444dir/[root@localhost ~]# ll -d dir/ dir/filedr--r--r-- 2 root root 18 Nov 512:21dir/-r--r--r-- 1 root root 0 Nov 512:21dir/file[root@localhost ~]# chmod -R =wx dir/[root@localhost ~]# ll -d dir/d-wx--x--x 2 root root 18 Nov 512:21dir/[root@localhost ~]# ll -d dir/file--wx--x--x 1 root root 0 Nov 512:21dir/file第⼆种⽅式:chmod nnn filename第⼀个n:U第⼆个n:G第三个n:O所属⽤户rw,属组⽤户只读,其他⽤户⽆权限6 4 0[root@localhost ~]# ll -d dir/drw-r----- 2 root root 51 Nov 5 21:01 dir/常⽤⼏种组合默认⽬录:755默认⽂件:644⽬录:755 750 700⽂件:644 640 600linux系统基本权限autorunlinux系统特殊权限linux系统ACLlinux中的⽂件或⽬录和⽤户及⽤户组关联很⼤,linux这种每个⽂件或⽬录都有⼀组共9个基础权限位,每三个字符被分为⼀组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他⽤户权限位(占三个字符)。
鸟哥笔记-专题一:Linux文件的权限rwx、特殊权限sst、隐藏权限ia
鸟哥笔记-专题⼀:Linux⽂件的权限rwx、特殊权限sst、隐藏权限ia鸟哥笔记-专题⼀:Linux⽂件的权限rwx、特殊权限sst、隐藏权限ia==========================================================================================⽬录:==========================================================================================正⽂:⼀、Linux⽂件和⽬录的权限1、可读可⾏可执⾏(r,w,x),⽬录⽂件和链接(d,-,l)Linux⽂件权限的内容我们可以知道⼀个⽂件有若⼲个属性,包括读写执⾏(r, w,x)等基本权限,及是否为⽬录(d)与⽂件(-)或者是链接⽂件(l)等等的属性!形如:drwxrwxrwx 777r—权重4w—权重2x—权重17=4+2+1,即为有rwx权限。
2、要修改属性的⽅法(chmod,chown,chgrp)修改权限chmod 770 1.txtchmod u+w 1.txt修改拥有者、组chown lisi.myweb 1.txt只修改所属组可以⽤chgrp myweb 1.txt⼩结:chmod:改变⽂件的权限,SUID,SGID,SBIT等等的特性。
chown:改变⽂件拥有者。
chgrp:改变⽂件所属群组。
3、默认权限(umask)umask 就是指定 “⽬前使⽤者在创建⽂件或⽬录时候的权限默认值”,那么如何得知或设置 umask 呢?(1)得知默认权限umask的值:[root@study ~]# umask0022 # 与⼀般权限有关的是后⾯三个数字![root@study ~]# umask -Su=rwx,g=rx,o=rx如果以上⾯的例⼦来说明的话,因为 umask 为 022 ,所以 user 并没有被拿掉任何权限,不过 group 与 others 的权限被拿掉了 2 (也就是w 这个权限),那么当使⽤者:创建⽂件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--创建⽬录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-xroot⽤户的umask默认值为022,普通⽤户的umask默认值为002。
Linux文件权限
g:组成员
o:其他成员
a:所有人
权限仍用r、w和x表示
和数字表示法不同,文本表示法不仅可以重新指定权限,也可以在原来权限的基础上
增加或减少权限,如下:
=:重新制定权限
-:对目前的设置减少权限
+:对目前的设置增加权限
文件默认没有执行权限,文件嘉有
文件满权限 rwx rwx rwx
umask 000 010 010
--- -w- -w-
50.在使用了shadow口令的系统中,/etc/passwd和/etc/shadow两个文件的权限正确的是:________。(C)
r:可列出目录中的内容
w:可在目录中创建、删除和修改文件
x:可以使用cd命令切换到此目录
-:没有任何此目录的访问权限
注意:目录可以使用通配符"*"来表示目录中的所有文件,如将/test目录中的所有文件
的权限设置为任何人都可以读写
chmod 666 /test/*
二、文件权限修改----chmod
1. 用数字表示法修改权限
所谓数字表示法,是指将r、w和x分别用4、2、1来代表,没有授予权限的则为0,
然后把权限相加,如下
原始权限 转换为数字 数字表示法
rwxrwxr-x (421)(421)(401) 775
例子:讲上述例子中,所有者加上执行权限,组成员减少执行权限,其他成员设置为
执行权限,执行以下命令
chmod u+x,g-x,o=x test
注意:逗号前后不能有空格
三、目录权限
目录权限的修改和文件权限修改不同,只是四种权限代表的含义如下:
浅谈LINUX文件系统的特殊权限设置与应用
S r m 一 - f/ h o m e / u s e r 2 / s h a r e /f i l e 2 . u s e r 2
R m: C a n n t r e m o v e h O m e / u s e r 2 / s h a r e / f i l e 2 .
2 文件的特殊权限在L i n u x 系统中的表示方式
特殊权 ̄ E S u i d 、 S g i d 、 S t i c k y 在l i n u x 系统中有其特定的表
现形式 , 针对具体的文件和 目录 , 系统 采取以下规则表 示特 殊 权 限。
件 共享 的问题 , 但不 能解 决同组 成 员可任意 删 除目录 中组 内
其它成员文件 问题 , 为此 , 我们通过 在 目录上 同时设置S g i d  ̄ l
S t i c k y 权限, 即可实现同组 用户共享文件 , 又可保证只有文件所
linux系统命令权限之特殊权限
linux系统命令权限之特殊权限⼀.查看系统/⽤户的环境变量命令su - ⽤户名系统想加载⽤户环境变量,进⼊家⽬路,没有/home/⽤户名,导致命令提⽰符错误,如何修复呢?linux中可以查询⽤户相关的,环境变量,命令是 env linux中还有⼀个查询,全系统的环境变量,命令是set PS1变量,就是控制命令提⽰符的[fyy01@yuanlai-0224 ~] set |grep PS1 PS1='[\u@\h \W] '\u 显⽰⽤户名\h 显⽰主机名\W 显⽰⽤户所处⽬录的最后⼀级\w 显⽰⽤户所处的绝对路径,省去你敲pwd\t 以24⼩时制,显⽰时间$ 显⽰⽤户的⾝份提⽰符,⾃动识别root还是普通⽤户最终你可以调整PS1 命令提⽰符如下格式PS1='[\u@\h \w \t]$ '该变量,临时敲打,临时⽣效,重新登录后,系统重新加载⽤户环境变量,该设置丢失如何永久⽣效?把你⾃定义的变量写⼊到,系统全局环境变量配置⽂件中(/etc/profile)那么就有关于⽤户个⼈的配置⽂件,在⽤户家⽬录下~/.bash_profile1.命令提⽰符的变量(属于⽤户系统中⾃定义变量)特别注意:变量名和值之间,不得有空格通常会⽤到‘env’命令查看列如;[root@linux0224 ~]# env |grep rootUSER=rootMAIL=/var/spool/mail/rootPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/cmatrix12/bin:/root/binPWD=/rootHOME=/rootLOGNAME=rootXDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/ [root@linux0224 ~]#2. 当命令提⽰符出现损坏,家⽬录显⽰不正常的时候解决办法⽐如:[root@linux0224 tmp]# su - chaoge01上⼀次登录:四 3⽉ 17 09:51:51 CST 2022pts/0 上su: 警告:⽆法更改到 /home/chaoge01 ⽬录: 没有那个⽂件或⽬录/-bash-4.2 -bash-4.2-bash-4.2 -bash-4.2 echo PS1 \s-\v\$ -bash-4.2修复原理:1.系统读不到⽤户的个⼈配置⽂件,要去找⼀下,⼀般⽤户⽤useradd 创建⽤户时个⼈配置⽂件会在/etc/skel ⽬录下我们要去拷贝所有的⽤户个⼈环境配置⽂件然后粘贴到⽤户⽣成的家⽬录/home/⽤户名1.特殊权限linux系统权限共12位权限,基本权限9位分别是 rwx ,rwx,rwx, 还有三位特除权位suid(setuid)sgid(setgid)sbit(sticky)特除权限对照表2.SUID特殊权限基本原理:1.suid特除权限仅限于可执⾏⽂件,也是个⼆进制命令列如⽐如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm2.suid特殊权限只要⽤户对设有 SUID 的⽂件有执⾏权限,那么当⽤户执⾏此⽂件时,会以⽂件属主的⾝份去执⾏此⽂件3.⼀旦⽂件执⾏结束,⾝份的切换也随之消失图解suid特殊权位总结;SUID位的⽂件被执⾏时,该⽂件将以所有者的⾝份运⾏,也就是说⽆论谁来执⾏这个⽂件,他都有⽂件所有者的特权。
Linux系统的权限管理和访问控制策略
Linux系统的权限管理和访问控制策略Linux作为一种开源操作系统,具备了强大的权限管理和访问控制策略,以保护系统的安全性和数据的保密性。
本文将介绍Linux系统中常用的权限管理和访问控制策略,包括文件权限、用户权限和访问控制列表。
1. 文件权限在Linux系统中,每个文件和目录都有一组权限,用于控制对其的访问。
权限分为读取(r)、写入(w)和执行(x)三种模式。
这三种模式分别代表了不同的访问权限:读取允许查看文件内容,写入允许修改文件内容,执行允许运行可执行文件或访问目录。
权限设置使用八进制表示法,如rwxr-xr-x表示的权限为755。
以文件为例,第一位代表文件的类型(-表示常规文件),接下来的三位是所有者的权限,再接下来的三位是组用户的权限,最后的三位是其他用户的权限。
2. 用户权限Linux系统中,每个用户都有一个用户ID和一个组ID,并且属于一个或多个组。
用户权限以文件所有者、组用户和其他用户为基础,分别定义了不同的访问权限。
文件的所有者可以使用chown命令来改变文件所有者,使用chmod 命令可以修改文件的权限。
例如,"chown user1 file.txt"可以将文件file.txt的所有者更改为user1。
3. 访问控制列表访问控制列表(Access Control List,ACL)是一种在文件和目录上附加额外权限的机制,用于对具体用户或者用户组设置特定的权限。
ACL允许用户为文件或目录授予特定用户或组的特定访问权限。
可以使用setfacl命令来添加和修改ACL。
例如,“setfacl -m u:user1:rw file.txt”可以为用户user1添加读写权限。
通过ACL,用户可以更加灵活和细粒度地控制对文件和目录的访问权限,实现更加精确的权限管理。
4. SELinuxSELinux(Security-Enhanced Linux)是一种安全模块,提供了更为严格的访问控制策略。
linux默认文件权限
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系统中创建文件时,新文件的权限是由默认文件权限设置决定的。
在某些情况下,默认权限可能不符合用户的要求,因此这些权限可以通过修改默认文件权限来进行更改。
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中,可以使用chmod命令来修改文件权限。
chmod命令用于设置文件或目录的访问权限。
以下是使用chmod命令修改文件权限的方法:打开终端:在Linux系统中,你可以使用终端应用程序来执行命令。
你可以在应用程序菜单中搜索终端,或者使用快捷键(如Ctrl+Alt+T)打开终端。
导航到文件所在目录:使用cd命令切换到包含目标文件的目录。
例如,如果你要修改名为example.txt的文件,并且它位于/home/user/documents目录下,你可以执行以下命令切换到该目录:bashcd /home/user/documents修改文件权限:使用chmod命令并指定新的权限模式来修改文件权限。
权限模式可以是以数字形式表示的八进制数,也可以是以符号形式表示的字母。
以下是两种常见的权限模式:数字模式:使用三个数字表示读、写和执行权限。
每个数字的范围是0到7,其中0表示没有权限,7表示所有权限。
例如,要给所有用户读和写权限,可以使用以下命令:bash`chmod 666 example.txt`符号模式:使用符号表示不同用户组的权限。
符号包括u(用户)、g(组)和o(其他)以及加号+和减号-。
例如,要给所有用户读、写和执行权限,可以使用以下命令:bash`chmod u=rwx,g=rx,o=rx example.txt````请注意,以上示例中的数字和符号仅用于演示目的,实际权限设置可能因需求而异。
你可以根据需要组合数字和符号来设置所需的权限。
确认更改:执行完chmod命令后,你可以使用ls -l命令来查看文件的权限是否已更改。
例如:bashls -l example.txt这将显示文件的详细信息,包括权限设置。
如果更改成功,你将看到新的权限模式。
请注意,对文件权限的更改可能会影响系统安全性和数据保护。
在修改文件权限时要小心谨慎,确保只授予必要的权限,并遵循最小权限原则。
运维或技术支持岗位招聘笔试题及解答2024年
2024年招聘运维或技术支持岗位笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个操作系统属于类Unix系统?A、Windows Server 2008B、LinuxC、Mac OS XD、Windows XP2、以下哪个命令用于在Linux系统中查看文件或目录的权限?A、chmodB、chownC、ls -lD、df3、在Linux系统中,用于查看文件内容且可以实现内容向下滚动的命令是?A、moreB、lessC、catD、vi4、在Linux环境中,如果想要将/etc/目录备份到外部硬盘 /media/backup/,并且需要保留软链接的指向,应该使用以下哪个命令?A、cp -R /etc/ /media/backup/B、rsync -a /etc/ /media/backup/C、mv /etc/ /media/backup/D、tar -czf /media/backup/etc.tar.gz /etc/5、题干:以下关于Linux文件系统的权限设置,说法错误的是:A、-rwxr-xr-x 表示文件所有者有读、写、执行权限,组和其他用户有读、写、执行权限。
B、-rw-r--r-- 表示文件所有者有读、写权限,组和其他用户有读权限。
C、-r-xr-xr-x 表示文件所有者、组和其他用户只有执行权限。
D、-wxr-xr-x 表示文件所有者、组和其他用户有写、执行权限。
6、题干:在网络中,以下哪一种地址属于私有地址,不会被分配给网络上的任何主机?A、172.16.0.1B、192.168.1.1C、10.0.0.1D、224.0.0.17、以下哪个协议主要用于网络设备之间的通信,包括交换机、路由器等?A. HTTPB. FTPC. SNMPD. SMTP8、在Linux系统中,以下哪个命令用于查看系统的运行级别?A. psB. whoC. initD. cat9、在Linux系统中,用于查看文件内容的命令是()。
第03章 Linux的文件权限与目录的配置
1.1.1 文件类型
在Linux系统中,文件是Linux操作系统的基本数据组织单 位,所有的输入输出都是通过文件实现的,系统处理的任何设 备和数据均可以归结为对文件的操作。从理论上讲,能够读写 普通文件的任何程序都可以读写任何I/O设备。
例:给某文本文档建立软链接 利用软链接,可以照顾用户以往的上机习惯,把之前常用的 命令名链接到新增的命令,实现命令名字的借用或者间接引用。
软链接和硬链接的对比
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系 统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬链接为文件 开设一个新的目录 项,硬链接与文件原有的名字是平权的,在Linux看来它 们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。 (1)软链接可以 跨文件系统 ,硬连接不可以 。 (2)软链接可以对一个不存在的文件名进行连接 。 (3)软链接可以对目录进行连接。
Linux文件系统中,提供下述文件操作:
open\create\read\write等。
目录文件 用于存放文件名和其他有关文件信息的文件,即用于检索文 件的文件。目录文件可以包含下一级目录文件和普通文件,每 一级的目录文件都是如此以便在系统中形成一棵目录树。 Linux的目录文件由目录项构成,它包括两个部分:即文件 名和文件号(信息节点号),文件号被称作i节点号 i_number。
接下来的属性中,三个为一组rwx
例:若有一个文件的类型与权限数据为“-rwxr-xr—”,请说 明其意义。
第二列代表有多少文件名连接到此节点(i-node) 每个文件名都会连接到一个i-node
Linux命令大全(四)——文件权限
Linux命令⼤全(四)——⽂件权限四四、⽂件权限1、⽂件类型Linux ⼴泛的被很多⽤户所接受,它强⼤的功能受到很多⼈喜欢,Linux ⽂件⼀般是⽤⼀些相关的应⽤程序创建,⽐如图像⼯具、⽂档⼯具、归档⼯具... .... 或 cp ⼯具等。
Linux ⽂件的删除⽅式是⽤ rm 命令。
Linux ⽂件类型和 Linux ⽂件的⽂件名所代表的意义是两个不同的概念。
我们通过⼀般应⽤程序⽽创建的⽐如 file.txt、file.tar.gz ,这些⽂件虽然要⽤不同的程序来打开,但放在 Linux ⽂件类型中衡量的话,⼤多是常规⽂件(也被称为普通⽂件)。
Linux ⽂件类型常见的有:普通⽂件、⽬录、字符设备⽂件、块设备⽂件、符号链接⽂件等;现在我们进⾏⼀个简要的说明;1 普通⽂件1. [root@localhost ~]# ls -lh install.log2. -rw-r--r-- 1 root root 53K 03-16 08:54 install.log我们⽤ ls -lh 来查看某个⽂件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第⼀个符号是 - ,这样的⽂件在 Linux 中就是普通⽂件。
这些⽂件⼀般是⽤⼀些相关的应⽤程序创建,⽐如图像⼯具、⽂档⼯具、归档⼯具... .... 或 cp ⼯具等。
这类⽂件的删除⽅式是⽤ rm 命令;2 ⽬录1. [root@localhost ~]# ls -lh2. 总计 14M3. -rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale4. -rw-r--r-- 1 root root 53K 03-16 08:54 install.log5. -rw-r--r-- 1 root root 14M 03-16 07:53 kernel-6.15-1.2025_FC5.i686.rpm6. drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.177. drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydir8. drwxr-xr-x 2 root root 4.0K 03-17 04:25 Public当我们在某个⽬录下执⾏,看到有类似 drwxr-xr-x ,这样的⽂件就是⽬录,⽬录在 Linux 是⼀个⽐较特殊的⽂件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者:池建强
在这个系列中和⼤大家聊聊 Linux 的⽂文件、⽤用户、⽤用户组、⽂文件系统的权限等内容,其中很多细节也是我使⽤用了很⻓长时间 Linux 后才真正掌握,希望⼤大家不⽤用那么久。
为什么是 Linux ?我觉得写技术的东⻄西还是相对严谨⼀一些好,虽然Unix 、Linux 、OS X ⼀一脉相承,但在具体命令上还是会有些差异,这个系列⽂文章⾥里所有的命令和显⽰示结果都是在 Linux 上进⾏行的,⼤大家可以对照在 Mac 上试试,当然最后也会讲⼀一点 OS X 的内容,否则怎么叫 MacTalk 呢?
在开始讲 Linux ⺩王国的⾂臣民之前,先介绍⼀一下⺩王国中最⽜牛的主:root ,这货不翻译为「根」,也不叫「管理员」,⽽而是被尊称为超级Linux ⽂文件系统的权限⺩王国(⼀一)
⽤用户,是不是觉得⾼高端霸⽓气?超级⼆二字绝不是恭维之词,从 Linux ⺩王国诞⽣生之初,root 就存在了,他会⼀一直霸占着超级⽤用户的⾓角⾊色并世世代代存在下去,没有禅让,没有民选,没有换位,所有的⽤用户都⾃自他⽽而起。
如果你以为 root 会像上帝创造亚当和夏娃那样,让这⼆二位开开⼼心⼼心⽣生娃去了,那你就太Naive了。
Linux 系统中的所有⽤用户要么由root 创建,要么借⽤用 root 的权限创建,等级极为森严,总之没有 root 的允许,想搞出⼀一位新⽤用户绝⽆无可能。
看到这你们是不是都开始觉得计划⽣生育政策好啦?
root 不仅能够管理⽤用户,还能管理⽂文件系统、进程、设备、⺴⽹网络、通信、协议等等,总之他就像站在神⼭山上的神祗,俯视着芸芸众⽣生,看着数据信息在软件和硬件之间川流不息,时不时的做⼀一些计划性干预,如果有⼈人想超越系统的规则,他就能让你消失的像从来没有存在过。
所以那些成天叫嚣被蹂躏被代表的民众,看看 root,⼤大家⼼心理就会舒服⼀一些。
以 root 开篇,下⾯面我们聊聊 Linux 的⽂文件系统和索引节点。
Linux 的⽂文件系统本⾝身是⽐比较复杂的,仅 ext2、ext3 和 ext4 就得解释好⼏几天,本⽂文的重点不在于此,所以简单介绍⼀一下。
⽂文件系统主要是⽤用来保存⽂文件和相关结构的,让⽂文件存储更安全、更快、更容易检索、能⽀支持更⼤大的物理介质等等。
在 Linux 系统中,每个磁盘分区都可以看做⼀一个⽂文件系统,每个系统都有⾃自⼰己的⺫⽬目录结构,Linux 会把这些分区按照⼀一定的⽅方式组织成统⼀一的⺫⽬目录结构,⽅方便⽤用户访问。
但是每个分区上的⽂文件系统都是独⽴立的,可以采⽤用不容的⽂文件格式,就像⼀一国两制⼀一样,虽然统⼀一,但是⾃自治。
那么如何查看⽂文件系统的格式呢?可以使⽤用 df -T -h 命令,T 表⽰示打印⽂文件格式,h 表⽰示⽤用G 或 M 来显⽰示⽂文件⼤大⼩小,如下:
➜ /home/chjq >df -T -h
⽂文件系统类型容量已⽤用可⽤用已⽤用%% 挂载点
/dev/mapper/VolGroup-lv_root ext4 31G 3.1G 26G 11% /
tmpfs tmpfs 1011M 88K 1011M 1% /dev/shm
/dev/sda1 ext4 485M 29M 431M 7% /boot
我们可以看到⽂文件系统格式是 ext4,⺫⽬目前⾼高版本的 Linux 基本都开始采⽤用 ext4 ⽂文件格式了,具体来说就是 Linux kernel ⾃自 2.6.28 开始正式⽀支持新的⽂文件系统 ext4!(使⽤用 cat /etc/fstab 可以查看⽂文件系统的详细信息)。
有了⽂文件系统,如何管理⽂文件呢,这就引出了索引节点的概念,这货叫做 inode,每个⽂文件都有⼀一个 inode,就像我们每个⼈人都有⾝身份证号⼀一样,为什么要有⾝身份证号?说⽩白了就是为了管理咱们的。
但⾝身份证号对⼈人来说不是必须的,没⾝身份证⼀一样活,对吧,只要不那么彪悍别遇到城管。
但 inode 是每个⽂文件与⽣生俱来的,⼀一创建就有了,它记录了⽂文件的元信息,⽐比如⽂文件⼤大⼩小、创建者、时间戳、权限、连接数等内容。
所以在 Linux/Unix 中,⽂文件名称只是⽂文件的⼀一个属性,叫别名也好叫绰号也罢,仅为了⽅方便⽤用户记忆和使⽤用,但系统内部并不需要⽤用⽂文件名来定为⽂文件位置,这样处理最直观的好处就是,你可以对正在使⽤用的⽂文件改名,换⺫⽬目录,甚⾄至放到废纸篓,都不会影响当前⽂文件的使
⽤用,这在 Windows ⾥里是⽆无法想象的。
⽐比如你打开个 Word ⽂文件,然后对其进⾏行重命名操作,Windows会告诉你⻔门都没有,关闭⽂文件先!但在 Mac ⾥里就毫⽆无压⼒力,因为 Mac 的操作系统同样采⽤用了 inode 的设计。
总之,Linux/Unix的⽂文件系统可以⾮非常灵活的基于 inode 来管理⽂文件⺩王国⾥里的⾂臣民,如何查看 inode 或操作 inode 呢,且听下回分解!。