chmod /chown / umask /lsattr_chattr

2.14文件或目录权限chmod
ls -l查看文件详细信息
第一位表示文件的类型,后9位分3组,表示文件的权限。一个文件有3个权限位,分别是所有者,所属组,其他用户,rwx表示可读可写可执行。
如图所示第一个文件,3个权限为分别是所有者:root,可读可写不可执行;所属组:root,可读不可写不可执行;其他用户:nihuiping用户,可读不可写不可执行
chmod /chown / umask /lsattr_chattr
权限为还可以用数字表示,r=4,w=2,x=1,
rwx=7,rw-=6,--x=1
rw-r--r--=644,rw-r-xr-x=655

chmod==change mode,mode表示权限
改变权限为:将2.txt的权限位改为700,chmod 700 2.txt
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
秘钥认证的时候用到一个命令,chmod 700 /root/.ssh
chmod /chown / umask /lsattr_chattr
第1位表示文件类型,后9位表示权限位,最后一位的 . 表示受制于selinux,selinux创建了,创建的文件最后一位就会有一个 .
chmod /chown / umask /lsattr_chattr
getenforce查看selinux状态
setenforce 0,用于关闭selinux
chmod /chown / umask /lsattr_chattr
运行setenforce 0显示结果为permissive,表示关闭,但不是彻底关闭,表示生效着
enforcing,表示开启,比如做认证的时候,如果开启着就不会让你登录。
permissive,也表示开启着,不彻底关闭,但如果是permissive开启着,**认证则不会去限制你,仅仅是打印一个警告
disable表示彻底关闭,彻底关闭的方法,需要vi进去配置文件,vi /etc/selinux/config。
只有当进入配置文件,彻底关闭,并重启,再去创建新的文件,就不会再有 . 了
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
以目录nihuiping2为例,将其权限改成777
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
nihuiping2下面的1.txt的权限并没有发生变化
chmod /chown / umask /lsattr_chattr
chmod操作的只是目录本身,若是想改变改目录下的子文件或者子目录的权限一次性批量的更改,加选项-R即可
chmod /chown / umask /lsattr_chattr
更改权限chmod的其他写法
chmod u=rwx,g=r,o=r nihuiping2
u表示user,g表示group,o表示other
chmod /chown / umask /lsattr_chattr
chmod a+x nihuiping2
a表示all,所有,表示原来的权限基础上,3个权限为的权限分别多一个可执行
chmod /chown / umask /lsattr_chattr
同理,chmod a-x nihuiping2
chmod /chown / umask /lsattr_chattr
此外,u+x u-x u+r u-r g+w o-x同样可以使用


2.15更改所有者和所属组chown
chown==change owner,chown可以更改所有者,也可以更改所属组
cat /etc/passwd用于查看系统的用户有哪些。最后2个nihuiping和user1是普通用户,可以更改,可供使用
chmod /chown / umask /lsattr_chattr
chown 可以更改所有者,eg:把/tmp/nihuiping2的所有者root改成nihuiping
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
chgrp更改所属组,eg:把/tmp/nihuiping2的所属组root改成user1
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
chown可以分别将所有者和所属组改为:user1 :nihuiping
chown可以更改所属组,eg:将/tmp/nihuiping2的所属组改成root
chmod /chown / umask /lsattr_chattr
chown -R,批量更改所有者和所属组
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
chown -R username:group filename




2.16 umask
新建文件11.txt,可以看到权限为644
chmod /chown / umask /lsattr_chattr
新建目录123,可以看到权限位位755
chmod /chown / umask /lsattr_chattr
运行umask,可以看到root用户的umask值是0022,通过umask值可以确定文件默认权限值和目录默认权限值
chmod /chown / umask /lsattr_chattr
更改umask值,umask 002,写全乎了就是 umask 0002
chmod /chown / umask /lsattr_chattr
创建文件3.txt,权限变成了664
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
创建目录234,权限变成了775
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
umask值 文件 目录
0022 644 755
0002 664 775
猜测规律是,文件是666-umask,目录是777-umask
目录之所以有x执行,是因为目录相当于windows里面的文件夹,文件夹里面有文件和目录,若要查看目录下面有什么,首先要进入到目录下面去,进入到目录就是执行,所以要有x权限。

总结的而规律不一定对。
eg:umask 改成0003
rm -rf 删除11.txt,2.txt,3.txt,创建新的1.txt,权限位为664
chmod /chown / umask /lsattr_chattr
按照推测该是666-003=663!=664
新建目录111,权限位为774
chmod /chown / umask /lsattr_chattr
正解:666即(rw-rw-rw-) - 0003(-------wx) = rw-rw-r-- =664
777即(rwxrwxrwx)- 0003(-------wx)= rwxrwxr-- =774
原则是:- 减去 非空,结果为空。


2.17隐藏权限lsattr_chattr
隐藏权限用ls -l是无法看到的
设置隐藏权限的命令chattr,是一个附加的权限
man查看一下chattr
chmod /chown / umask /lsattr_chattr
给1.txt文件加一个隐藏的权限,+i
chmod /chown / umask /lsattr_chattr
编辑1.txt,默认为空。为只可读文件,无法修改
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
尝试把/passwd里面的内容追加到1.txt里面,显示权限不够
chmod /chown / umask /lsattr_chattr
该文件是root用户,是有读写权限的。不能修改,要考虑是不是有隐藏权限,用命令lsattr查看,可以看到一个 i
chmod /chown / umask /lsattr_chattr
正常的新建一个文件,是什么权限都没有的
chmod /chown / umask /lsattr_chattr
有i权限的文件,无法修改内容,改名字和删除都无法操作
  1. txt删除失败
chmod /chown / umask /lsattr_chattr
touch也不可以,touch会更改一个文件的时间。
chmod /chown / umask /lsattr_chattr

chattr是一个非常严谨的权限

附加权限,可以添加(+i),也可以删除(-i)
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
删除附加权限之后,该文件可以改名字,可以编辑,
除了i选项,常用的还有+a 选项,+a选项表示只能追加,不能删除,不能重命名,不能编辑写入,以及其他操作
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
强制退出时 :q!
追加功能可以实现,也可以touch,更改时间信息
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
-a可以去除只能追加的功能,chattr –a 1.txt
chmod /chown / umask /lsattr_chattr
111目录是空的,在111下面创建一个222目录
lsattr查看的是目录下面的子目录和子文件
chmod /chown / umask /lsattr_chattr
对目录111设置隐藏权限
chmod /chown / umask /lsattr_chattr
给目录加上隐藏权限,和文件一样,不能删除,不能改名字,不能创建子文件子目录,可以重定向追加(能限制不能新建文件,但不能限制写已经存在的文件)。查看目录的隐藏权限,要加 -d
chmod /chown / umask /lsattr_chattr
去掉i权限,加上a权限,就只能追加,不能删除,touch 相当于追加文件
chmod /chown / umask /lsattr_chattr
目录 添加隐藏权限,+i,可以更改内容,可以追加
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
lsattr -R可以查看子目录,以及子目录下面的文件,可以显示几层,什么都不加,lsattr只能显示一层
chmod /chown / umask /lsattr_chattr
chmod /chown / umask /lsattr_chattr
lsattr -a 111显示不隐藏的文件和隐藏的文件
chmod /chown / umask /lsattr_chattr
lsattr -d 只查看目录本身
chmod /chown / umask /lsattr_chattr