Linux运维系统工程师系列06

本文发布时间: 2019-Mar-22
权限——权力的限制Linux里的文件和目录都是有一定的访问许可权限的。[root@server254 ~]# mkdir /priv[root@server254 ~]# cp /etc/passwd /priv/[root@server254 ~]# cd /priv/[root@server254 priv]# lltotal 4-rw-r--r--. 1 root root 1332 Oct 15 09:40 passwd-rw-r--r--:-:文件类型rw-r--r--:文件的权限1:链接数第一个root:是文件的属主第二个root:文件的所属组1332:文件的大小Oct 15 09:40:文件的最后修改时间(mtime)passwd:文件名查看文件类型[root@server254 priv]# file passwdpasswd: ASCII textlinux下文件类型:-:普通文件d:目录文件[root@server254 priv]# ll -d /priv/drwxr-xr-x. 2 root root 4096 Oct 15 09:42 /priv/c:字符设备 ——character[root@server254 priv]# ll /dev/tty7crw--w----. 1 root tty 4, 7 Oct 18 2013 /dev/tty7b:块设备 ——block 一般是硬盘设备等等[root@server254 priv]# ll /dev/sda2brw-rw----. 1 root disk 8, 2 Oct 9 16:33 /dev/sda2l:链接文件[root@server254 priv]# cd /var/[root@server254 var]# ll -d maillrwxrwxrwx. 1 root root 10 Oct 9 16:14 mail -> spool/mailp:管道文件——pipe[root@server254 var]# ll /var/spool/postfix/public/pickup -dprw--w--w-. 1 postfix postfix 0 Oct 18 2013 /var/spool/postfix/public/pickups:套接字文件——socket[root@server254 var]# ll /dev/logsrw-rw-rw-. 1 root root 0 Oct 9 16:33 /dev/logrw- r-- r--对于文件来说:1、用户分类如下:u —— 文件的所有者g —— 文件的所属组o —— 其他人a —— 所有人 (u,g,o)rw- r-- r--ugo2、权限的基本类型r —— 读权限w —— 写权限x —— 执行权限 (eXecute)[root@server254 priv]# useradd -G root groot[root@server254 priv]# useradd otheruser[root@server254 priv]# id rootuid=0(root) gid=0(root) groups=0(root)[root@server254 priv]# id grootuid=501(groot) gid=3004(groot) groups=3004(groot),0(root)[root@server254 priv]# id otheruseruid=502(otheruser) gid=502(otheruser) groups=502(otheruser)权限的设置1、chown ——change owner 修改文件的属主和属组——只修改文件的属主[root@server254 priv]# useradd usr4[root@server254 priv]# chown usr4 passwd[root@server254 priv]# ll passwd-rw-r--r--. 1 usr4 root 1332 Oct 15 09:40 passwd——只修改文件的属组[root@server254 priv]# chown .usr4 passwd[root@server254 priv]# ll passwd-rw-r--r--. 1 usr4 usr4 1332 Oct 15 09:40 passwd——同时修改文件的所有者和所属组[root@server254 priv]# useradd owner[root@server254 priv]# groupadd group[root@server254 priv]# chown owner.group passwd[root@server254 priv]# ll passwd-rw-r--r--. 1 owner group 1296 Oct 15 10:02 passwd——修改目录的所有者和所属组[root@server254 priv]# cd /[root@server254 /]# ll -d priv/drwxr-xr-x. 2 root root 4096 Oct 15 09:42 priv/[root@server254 /]# chown owner.group priv/[root@server254 /]# ll -d priv/drwxr-xr-x. 2 owner group 4096 Oct 15 09:42 priv/——递归修改目录的所有者和所属组 -R选项[root@server254 priv]# chown -R owner.group /priv[root@server254 priv]# ll -d /priv/drwxr-xr-x. 2 owner group 4096 Oct 15 09:42 /priv/[root@server254 priv]# lltotal 4-rw-r--r--. 1 owner group 0 Oct 15 09:42 a-rw-r--r--. 1 owner group 1296 Oct 15 10:02 passwd2、chmod ——change mode 修改文件和目录的权限——等值授权 =[root@server254 priv]# ll passwd-rw-r--r--. 1 owner group 1296 Oct 15 10:02 passwd[root@server254 priv]# chmod u=r passwd[root@server254 priv]# ll passwd-r--r--r--. 1 owner group 1296 Oct 15 10:02 passwd——增值授权 +[root@server254 priv]# ll passwd-r--r--r--. 1 owner group 1296 Oct 15 10:02 passwd[root@server254 priv]# chmod g+w passwd[root@server254 priv]# ll passwd-r--rw-r--. 1 owner group 1296 Oct 15 10:02 passwd——减值授权-[root@server254 priv]# chmod o-r passwd[root@server254 priv]# ll passwd-r--rw----. 1 owner group 1296 Oct 15 10:02 passwd三段同时操作[root@server254 priv]# ll passwd-r--rw----. 1 owner group 1296 Oct 15 10:02 passwd[root@server254 priv]# chmod a+x passwd[root@server254 priv]# ll passwd-r-xrwx--x. 1 owner group 1296 Oct 15 10:02 passwdchmod [u,g,o,a] [+-=] [rwx] filename[root@server254 priv]# chmod u=- passwd[root@server254 priv]# ll passwd----rwx--x. 1 owner group 1296 Oct 15 10:02 passwd数字权限:常用的一种方式权限对应的数字r —— 4w —— 2x —— 1- —— 0[root@server254 priv]# rw- r-- r--^C[root@server254 priv]# chmod 644 passwd[root@server254 priv]# ll passwd-rw-r--r--. 1 owner group 1296 Oct 15 10:02 passwdrw- r-- r--110 100 1006 4 4————————————————————————————练习:1、拷贝/etc/passwd文件到/priv目录下[root@server254 /]# mkdir /priv[root@server254 /]# cp /etc/passwd /priv/2、将文件的权限设置如下:所有者:读写执行所属组:读写其他人:读[root@server254 /]# chmod u=rwx,g=rw,o=r priv/passwd或者[root@server254 /]# chmod 764 priv/passwd[root@server254 /]# ll priv/passwd-rwxrw-r--. 1 root root 1495 Oct 15 11:06 priv/passwd3、新建用户owner和group[root@server254 /]# useradd owner[root@server254 /]# useradd group4、将/priv/passwd文件的所有者修改为group,所属组修改为owner[root@server254 /]# chown group.owner priv/passwd[root@server254 /]# ll priv/passwd-rwxrw-r--. 1 group owner 1495 Oct 15 11:06 priv/passwd5、在/priv目录下创建test目录[root@server254 /]# mkdir /priv/test6、将/priv目录的所有者改为owner[root@server254 /]# chown owner /priv/7、将/priv目录下的所有文件及目录的所属组修改为group[root@server254 /]# chown -R .group /priv/8、使用数字授权方式,将/priv/passwd文件的权限修改为如下要求:所有者:读写执行所属组和其他人:读和执行[root@server254 priv]# chmod 755 passwd[root@server254 priv]# ll passwd-rwxr-xr-x. 1 group group 1495 Oct 15 11:06 passwd111 101 1019、写出如下权限的数字权限:rw-r--r--:644rwxr-xr-x:755r--------:4001、文件的权限演示什么呢?就是文件有读、写、执行权限时候,能干点嘛?环境:[root@server254 ~]# mkdir /priv[root@server254 ~]# cd /priv/[root@server254 priv]# touch 1.txt[root@server254 priv]# touch 2.txt[root@server254 priv]# touch 4.txt[root@server254 priv]# echo hello > 1.txt[root@server254 priv]# echo hello > 2.txt[root@server254 priv]# echo hello > 4.txt[root@server254 priv]# chmod 641 1.txt[root@server254 priv]# chmod 642 2.txt[root@server254 priv]# chmod 644 4.txt[root@server254 priv]# lltotal 12-rw-r----x. 1 root root 6 Oct 15 11:36 1.txt-rw-r---w-. 1 root root 6 Oct 15 11:36 2.txt-rw-r--r--. 1 root root 6 Oct 15 11:36 4.txt执行权限:[owner@server254 priv]$ ./1.txtbash: ./1.txt: Permission denied./表示的是当前路径对于文件:只有x权限,没有任何意义的,执行不了文件写权限:w[owner@server254 priv]$ cat 2.txtcat: 2.txt: Permission denied[owner@server254 priv]$ vim 2.txt有写权限说明我可以修改文件,但是无法查看文件,单独存在也是没有太大意义的。读权限:[owner@server254 priv]$ cat 4.txthello[owner@server254 priv]$ vim 4.txt可以看文件内容,但是无法修改。综上所述:r权限单独存在的话,你可以查看文件内容,但不允许修改w单独存在时,你看不到文件内容,但是可以强制修改内容,会覆盖原有内容,意义不大。x单独存在无意义chgrp:修改文件或者目录的所属组的[root@server254 /]# ll -d priv/drwxr-xr-x. 2 root root 4096 Oct 15 11:42 priv/[root@server254 /]# chgrp group priv/[root@server254 /]# ll -d priv/drwxr-xr-x. 2 root group 4096 Oct 15 11:42 priv/2、目录文件的权限1)单独只有一个[root@server254 /]# mkdir /priv[root@server254 /]# cd /priv/[root@server254 priv]# mkdir r[root@server254 priv]# mkdir w[root@server254 priv]# mkdir x[root@server254 priv]# cp /etc/passwd r/pr[root@server254 priv]# cp /etc/passwd w/pw[root@server254 priv]# cp /etc/passwd x/px[root@server254 priv]# chmod o=r r[root@server254 priv]# chmod o=w w[root@server254 priv]# chmod o=x x[root@server254 priv]# lltotal 12drwxr-xr--. 2 root root 4096 Oct 15 13:38 rdrwxr-x-w-. 2 root root 4096 Oct 15 13:38 wdrwxr-x--x. 2 root root 4096 Oct 15 13:39 x——目录的读权限[owner@server254 ~]$ cd /priv/[owner@server254 priv]$ ls rls: cannot access r/pr: Permission deniedpr只能看到有什么文件,但是不能修改也不能进入目录[owner@server254 priv]$ cd r-bash: cd: r: Permission denied——目录的写权限[owner@server254 priv]$ cd w-bash: cd: w: Permission denied[owner@server254 priv]$ ls wls: cannot open directory w: Permission denied[owner@server254 priv]$ rm w/pwrm: cannot remove `w/pw': Permission denied[owner@server254 priv]$ touch w/pw1touch: cannot touch `w/pw1': Permission denied[owner@server254 priv]$ vim w/pw1只有w权限,什么也做不了——目录的执行权限[owner@server254 priv]$ ls xls: cannot open directory x: Permission denied[owner@server254 priv]$ cd x[owner@server254 x]$ pwd/priv/x有x权限,可以进入到目录里,但是不能查看目录内容2)目录权限的组合 rw rx wx[root@server254 priv]# mkdir rw[root@server254 priv]# mkdir rx[root@server254 priv]# mkdir wx[root@server254 priv]# chmod o=rx rx/[root@server254 priv]# chmod o=wx wx/[root@server254 priv]# chmod o=rw rw/[root@server254 priv]# cp /etc/passwd rx/prx[root@server254 priv]# cp /etc/passwd wx/pwx[root@server254 priv]# cp /etc/passwd rw/prw——目录的r-x权限:对于目录没有写权限,不能在下面创建,删除,修改文件。但是可以进入目录,可以查看目录内容。[root@server254 r]# su - owner[owner@server254 ~]$ cd /priv/[owner@server254 priv]$ cd rx[owner@server254 rx]$ lsprx[owner@server254 rx]$ rm prxrm: remove write-protected regular file `prx'? yrm: cannot remove `prx': Permission denied[owner@server254 rx]$ touch prx1touch: cannot touch `prx1': Permission denied——目录的rw-权限:目录只有读写权限,什么也做不了,进不去,改不了[owner@server254 priv]$ ls rwls: cannot access rw/prw: Permission deniedprw[owner@server254 priv]$ cd rw/-bash: cd: rw/: Permission denied[owner@server254 priv]$ rm rw/prwrm: cannot remove `rw/prw': Permission denied——目录的-wx权限:摸黑:可以进入目录,可以创建、删除文件,但是不能看到目录内容。[owner@server254 priv]$ cd wx[owner@server254 wx]$ lsls: cannot open directory .: Permission denied[owner@server254 wx]$ rm pwxrm: remove write-protected regular file `pwx'? y[owner@server254 wx]$ touch f1[owner@server254 wx]$ lsls: cannot open directory .: Permission denied[owner@server254 wx]$ rm f1passwd普通用户是可以改密码的。[root@server254 ~]# ll /etc/shadow----------. 1 root root 955 Oct 15 11:10 /etc/shadow引入新的权限:特殊权限原理:在做某些特定的操作的时候,能够临时获得最高权限;操作完成之后,权限被收回。有效uid和有效gid,euid,egideffective 有效的一般情况下,uid和euid是一样的uid是用来记录用户的操作行为的,euid是用来判断权限的特殊权限有三个:suid:sgid:sticky:suid——赋给可执行命令,作用:是让使用这个命令的用户,临时拥有这个命令的所有者的权限[root@server254 ~]# ll /usr/bin/passwd-rwsr-xr-x. 1 root root 25980 Feb 17 2012 /usr/bin/passwd[root@server254 priv]# cp /usr/bin/passwd /priv/[root@server254 priv]# ll passwd-rwxr-xr-x. 1 root root 25980 Oct 15 14:38 passwd[root@server254 priv]# chown owner passwd[root@server254 priv]# ls -l passwd-rwxr-xr-x. 1 owner root 25980 Oct 15 14:38 passwd[root@server254 priv]# chmod u+s passwd[root@server254 priv]# lltotal 28-rwsr-xr-x. 1 owner root 25980 Oct 15 14:38 passwd[root@server254 priv]# chmod u-x passwd[root@server254 priv]# ll passwd-rwSr-xr-x. 1 owner root 25980 Oct 15 14:38 passwdS——无效的suid权限s——有效的suid权限注意:添加suid权限时,一定要确定有执行权限。实验:[root@server254 ~]# useradd usuid[root@server254 ~]# useradd utsuid[root@server254 ~]# mkdir /suid[root@server254 ~]# chmod 777 /suid/[root@server254 ~]# cp /bin/vi /suid/[root@server254 ~]# chown usuid /suid/vi[root@server254 ~]# cd /suid/[root@server254 suid]# lltotal 704-rwxr-xr-x. 1 usuid root 720792 Oct 15 18:10 vi[root@server254 suid]# chmod u+s vi[root@server254 suid]# lltotal 704-rwsr-xr-x. 1 usuid root 720792 Oct 15 18:10 vi[root@server254 suid]# su - usuid[usuid@server254 ~]$ cd /suid/[usuid@server254 suid]$ lltotal 704-rwsr-xr-x. 1 usuid root 720792 Oct 15 18:10 vi[usuid@server254 suid]$ echo "hello i am usuid" > usuid_file[usuid@server254 suid]$ lltotal 708-rw-rw-r--. 1 usuid usuid 17 Oct 15 18:12 usuid_file-rwsr-xr-x. 1 usuid root 720792 Oct 15 18:10 vi[usuid@server254 suid]$ exitlogout[root@server254 suid]# su - utsuid[utsuid@server254 ~]$ cd /suid/[utsuid@server254 suid]$ lltotal 708-rw-rw-r--. 1 usuid usuid 17 Oct 15 18:12 usuid_file-rwsr-xr-x. 1 usuid root 720792 Oct 15 18:10 vi[utsuid@server254 suid]$ ./vi usuid_file[utsuid@server254 suid]$ cat usuid_filehello i am usuidhello i am utsuidsgid——赋给可执行命令,用户在使用该命令的时候,临时获得这个命令所属组的权限实验:[root@server254 ~]# useradd ugid[root@server254 ~]# useradd utgid[root@server254 ~]# mkdir /sgid[root@server254 ~]# chmod 777 /sgid/[root@server254 ~]# cp /bin/vi /sgid/ugid_vi[root@server254 ~]# cd /sgid/[root@server254 sgid]# lltotal 704-rwxr-xr-x. 1 root root 720792 Oct 15 18:18 ugid_vi[root@server254 sgid]# chgrp ugid ugid_vi[root@server254 sgid]# lltotal 704-rwxr-xr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[root@server254 sgid]# chmod g+s ugid_vi[root@server254 sgid]# lltotal 704-rwxr-sr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[root@server254 sgid]# su - ugid[ugid@server254 ~]$ cd /sgid/[ugid@server254 sgid]$ lltotal 704-rwxr-sr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[ugid@server254 sgid]$ echo "hello i am ugid" > ugid_file[ugid@server254 sgid]$ lltotal 708-rw-rw-r--. 1 ugid ugid 16 Oct 15 18:22 ugid_file-rwxr-sr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[ugid@server254 sgid]$ exitlogout[root@server254 sgid]# su - utgid[utgid@server254 ~]$ cd /sgid/[utgid@server254 sgid]$ lltotal 708-rw-rw-r--. 1 ugid ugid 16 Oct 15 18:22 ugid_file-rwxr-sr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[utgid@server254 sgid]$ ./ugid_vi ugid_file[utgid@server254 sgid]$ lltotal 708-rw-rw-r--. 1 ugid ugid 33 Oct 15 18:22 ugid_file-rwxr-sr-x. 1 root ugid 720792 Oct 15 18:18 ugid_vi[utgid@server254 sgid]$ cat ugid_filehello i am ugidhello i am utgidsticky——一般是在所有用户都有全部权限的目录用来限制用户,不能随意的更改或者删除别人的文件[root@server254 ~]# ll -d /tmp/drwxrwxrwt. 19 root root 4096 Oct 15 14:03 /tmp/[root@server254 ~]# mkdir /new[root@server254 ~]# chmod 777 /new[root@server254 ~]# useradd p1[root@server254 ~]# useradd p2[root@server254 ~]# su - p1[p1@server254 ~]$ cd /new[p1@server254 new]$ touch p1-file[p1@server254 new]$ touch p1-file1在另一个标签[root@server254 ~]# su - p2[p2@server254 ~]$ cd /new[p2@server254 new]$ rm p1-file 可以删除[p2@server254 new]$ vim p1-file1 可以修改添加t权限[root@server254 ~]# chmod o+t /new[root@server254 ~]# su - p2[p2@server254 ~]$ cd /new[p2@server254 new]$ rm p1-file 不可以删除了sticky权限:用户只能修改属于自己的文件,而不能修改其他人的文件。特殊权限的数字表示rwsrwsr-t:7775suid sgid sticky rwx r-x r-x1 1 1suid:4sgid:2sticky:1475527551755场景描述:[root@server254 ~]# useradd acl1[root@server254 ~]# useradd acl2[root@server254 ~]# mkdir /test[root@server254 ~]# cd /test/[root@server254 test]# echo happy > root_file[root@server254 test]# chmod 757 /test[root@server254 test]# lltotal 4-rw-r--r--. 1 root root 6 Oct 16 10:18 root_file[root@server254 test]# acl1 rw[root@server254 test]# acl2 rx对于ugo模式的权限,用户acl1和acl2对于文件root_file来说都是其他人,如果要针对他们做不同的对待,解决不了出现了ACL权限ACL——Access Control List 访问控制列表可以针对用户,针对组[root@server254 test]# mount/dev/sda2 on / type ext4 (rw)要支持ACL,分区需要激活acl功能开启分区的acl功能[root@server254 test]# mount -o acl,remount /dev/sda2只查看/dev/sda2分区的挂载情况[root@server254 test]# mount | grep sda2/dev/sda2 on / type ext4 (rw,acl)两个命令:setfacl:设置文件的acl访问权限getfacl:获取文件的acl访问权限设置acl1用户对root_file可读写# setfacl-m :--modify 修改u:用户名:权限或者g:组名:权限root_file :文件名[root@server254 test]# setfacl -m u:acl1:rw root_file[root@server254 test]# getfacl root_file# file: root_file# owner: root# group: rootuser::rw-user:acl1:rw-group::r--mask::rw-other::r--[root@server254 test]# setfacl -m u:acl2:rx root_file[root@server254 test]# getfacl root_file# file: root_file# owner: root# group: rootuser::rw-user:acl1:rw-user:acl2:r-xgroup::r--mask::rwxother::r--验证:[root@server254 test]# su - acl1[acl1@server254 ~]$ cd /test/[acl1@server254 test]$ lltotal 8-rw-rwxr--+ 1 root root 6 Oct 16 10:18 root_file[acl1@server254 test]$ cat root_filehappy[acl1@server254 test]$ echo acl1 >> root_file[acl1@server254 test]$ cat root_filehappyacl1[acl1@server254 test]$ exitlogout[root@server254 test]# su - acl2[acl2@server254 ~]$ cd /test/[acl2@server254 test]$ lltotal 8-rw-rwxr--+ 1 root root 11 Oct 16 10:33 root_file[acl2@server254 test]$ cat root_filehappyacl1[acl2@server254 test]$ echo acl2 >> root_file-bash: root_file: Permission denied设置了acl权限后,在权限位置出现一个“+”号[acl2@server254 test]$ ll-rw-rwxr--+ 1 root root 11 Oct 16 10:33 root_file——移除单个用户的acl访问控制列表[root@server254 test]# setfacl -x u:acl1 root_file[root@server254 test]# getfacl root_file# file: root_file# owner: root# group: rootuser::rw-user:acl2:r-xgroup::r--mask::r-xother::r--——移除全部列表 -b[root@server254 test]# setfacl -m u:acl1:rw root_file[root@server254 test]# getfacl root_file# file: root_file# owner: root# group: rootuser::rw-user:acl1:rw-user:acl2:r-xgroup::r--mask::rwxother::r--[root@server254 test]# setfacl -b root_file[root@server254 test]# getfacl root_file# file: root_file# owner: root# group: rootuser::rw-group::r--other::r--练习:1、添加三个用户facl1,facl2,facl32、创建/test/acl目录,并将/etc/group文件拷贝到/test/acl目录下,同时重命名为grp3、设置grp文件facl1用户可以读写,facl2用户可读不可写,facl3用户无法操作,分别切换到三个用户进行权限的验证4、删除facl1用户的访问控制列表,使用getfacl验证5、删除所有用户的访问控制列表,使用getfacl验证6、修改facl2用户的主组为facl17、设置grp文件能够被facl1组的用户读写,facl3组的用户只读,并验证权限setfacl -m g:facl1:rw /test/acl/grpsetfacl -m g:facl3:r /test/acl/grpsetfacl -m g:facl1:rw,g:facl3:r /test/acl/grp8、删除facl1组的访问控制列表,并用getfacl验证对同类用户区别对待权限的掩码查看用户的umask[root@server254 root]# umask0022umask决定了你创建文件或者目录时候的默认权限[root@server254 tmp]# mkdir /tmp/root[root@server254 tmp]# ll -d rootdrwxr-xr-x. 2 root root 4096 Oct 16 11:43 root[root@server254 tmp]# touch /tmp/root/froot[root@server254 tmp]# ll roottotal 0-rw-r--r--. 1 root root 0 Oct 16 11:43 froot[root@server254 root]# useradd umask[root@server254 root]# su - umask[umask@server254 ~]$ umask0002[umask@server254 ~]$ mkdir udir[umask@server254 ~]$ touch udir/ufile[umask@server254 ~]$ lltotal 4drwxrwxr-x. 2 umask umask 4096 Oct 16 11:47 udir[umask@server254 ~]$ ll udir/ufile-rw-rw-r--. 1 umask umask 0 Oct 16 11:47 udir/ufile为什么默认权限是这样呢?root:0022umask:0002目录最大权限:777文件最大权限:666755 + 022 = 777目录的默认权限=目录的最大权限(777)-umask文件的默认权限=文件的最大权限(666)-umask修改用户的umask:[umask@server254 ~]$ umask 0022[umask@server254 ~]$ umask0022umask为0003,创建的文件和目录的权限时什么?目录文件rwx rwx rwx rw- rw- rw---- --- -wx --- --- -wx774664大家不要将umask设置为奇数的。配置文件中定义的/etc/profileif [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; thenumask 002elseumask 022fi[root@server254 root]# id -gn 显示主组名字root[root@server254 root]# id -un显示用户名字root场景:有的时候我希望文件只能往里追加东西,或者呢就压根不让更改文件内容等。引入一个新的权限——文件系统权限,也叫隐藏权限,附加权限不是所有的文件系统都支持文件系统权限。相关的命令:lsattr:查看chattr:修改、设置 change attribute(属性)文件系统权限对root也是生效的。man chattrThe letters ‘acdeijstuADST’ select the new attributes for the files:append only (a), compressed (c), no dump (d), extent format (e),immutable (i), data journalling (j), secure deletion (s), no tail-merg-ing (t), undeletable (u), no atime updates (A), synchronous directoryupdates (D), synchronous updates (S), and top of directory hierarchy(T).a -- append only 只追加c -- compressed 压缩i -- immutable 免疫的,不可修改s -- secure delete 安全删除:用0覆盖原有内容,但是不保证能够完全删除d -- no dump 不备份e -- extent format 扩展格式,基本不使用了j -- data journalling 记录日志u -- undeletable 不可以删除S -- synchronous updates 同步更新D -- synchronous directory updates同步目录更新A -- no atime updates 不更新访问时间记住两个就可以了,a,i——设置文件的文件系统权限[root@server254 ~]# cd /test/[root@server254 test]# echo "i am super user" > fa[root@server254 test]# lltotal 4-rw-r--r--. 1 root root 16 Oct 16 13:51 fa[root@server254 test]# chattr +a fa[root@server254 test]# lsattr fa-----a-------e- fa[root@server254 test]# cat fai am super user[root@server254 test]# echo hello > fabash: fa: Operation not permitted[root@server254 test]# rm farm: remove regular file `fa'? yrm: cannot remove `fa': Operation not permitted[root@server254 test]# vim fa[root@server254 test]# echo hello >> fa[root@server254 test]# lltotal 12-rw-r--r--. 1 root root 22 Oct 16 13:54 fa-rw-r--r--. 1 root root 16 Oct 16 13:54 fa~-rw-r--r--. 1 root root 16 Oct 16 13:54 fz~[root@server254 test]# cat fai am super userhello用处:一般a是加在日志文件上。——取消文件的文件系统权限[root@server254 test]# chattr -a fa[root@server254 test]# lsattr fa-------------e- fa[root@server254 test]# rm farm: remove regular file `fa'? y[root@server254 test]# ls fals: cannot access fa: No such file or directoryi:不可以修改文件[root@server254 test]# echo root > fb[root@server254 test]# chattr +i fb[root@server254 test]# lsattr fb----i--------e- fb[root@server254 test]# rm fbrm: remove regular file `fb'? yrm: cannot remove `fb': Operation not permitted[root@server254 test]# echo hello > fbbash: fb: Permission denied[root@server254 test]# echo hello >> fbbash: fb: Permission denied[root@server254 test]# vi fb[root@server254 test]# cat fbroot[root@server254 test]# chattr -i fb[root@server254 test]# lsattr fb-------------e- fbs:安全删除[root@server254 test]# chattr +s fb[root@server254 test]# lsattr fbs------------e- fb练习:1、在/test下创建文件afile,bfile,cfile,分别将hello写入文件2、设置afile只能追加内容,不能删除,不能修改3、设置bfile文件不能够修改4、假设在/test下存在一个文件a,你无法删除它,那么可能原因是什么?权限不足,a,i5、假设在/test下存在有一个文件,你只能使用>>向里面写东西,文件也不能删除,可能的原因?a文件的权限都谁可以改?1、root肯定可以改的2、文件的所有者可以改[root@server254 tmp]# su - lily[lily@server254 ~]$ touch lilyf[lily@server254 ~]$ lltotal 4drwxr-xr-x. 2 lily dev 4096 Oct 16 11:42 dlily-rw-r--r--. 1 lily dev 0 Oct 16 14:21 lilyf[lily@server254 ~]$ chmod 755 lilyf[lily@server254 ~]$ lltotal 4drwxr-xr-x. 2 lily dev 4096 Oct 16 11:42 dlily-rwxr-xr-x. 1 lily dev 0 Oct 16 14:21 lilyfchmod +[rwx] filenamechmod+wroot:不会全部都增加w权限,只给所有者加,使用数字权限没有这问题[root@server254 ~]# mkdir /t1[root@server254 ~]# cd /t1[root@server254 t1]# cp /etc/passwd pass[root@server254 t1]# lltotal 4-rw-r--r--. 1 root root 2226 Oct 16 14:21 pass[root@server254 t1]# chmod 000 pass[root@server254 t1]# lltotal 4----------. 1 root root 2226 Oct 16 14:21 pass[root@server254 t1]# chmod +r pass[root@server254 t1]# lltotal 4-r--r--r--. 1 root root 2226 Oct 16 14:21 pass[root@server254 t1]# chmod +w pass[root@server254 t1]# lltotal 4-rw-r--r--. 1 root root 2226 Oct 16 14:21 pass普通用户:会给所有者权限和所属组权限加上w权限[root@server254 t1]# su - umask[umask@server254 ~]$ touch ab[umask@server254 ~]$ lltotal 4-rw-rw-r--. 1 umask umask 0 Oct 16 14:27 abdrwxrwxr-x. 2 umask umask 4096 Oct 16 11:47 udir[umask@server254 ~]$ chmod 000 ab[umask@server254 ~]$ chmod +w ab[umask@server254 ~]$ lltotal 4--w--w----. 1 umask umask 0 Oct 16 14:27 ab


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表