su - root 管理员登陆
touch 创建空白文件
查看文件:
cat 查看文件 -n 显示行号 -A 显示不可显示控制字符
more 逐页的显示文件内容,空格向下,b向上
less 对文件内容进行显示,up向上,down向下
head 可以查看文件前几行的内容,添加“-n”参数显示文件的前n行
tail 可以查看文件后几行的内容,添加“-n”参数显示文件的后n行,添加“-f”参数可以查看动态文件
grep 可以对文件内容进行过滤,搜索关键词
grep 'root' // 在文件中,找到root内容行
grep '^root' // ^表示以'root'开头的行
grep 'root$' // ^表示以'root'结尾的行
复制文件:
cp file1(源文件)file2 (目标文件)
复制整个目录: cp -rf /aaa/bbb/ccc/ddd/a /aaa/bbb/ccc/ddd/a.bak
cp -rf /aaa/bbb/ccc/ddd/{a,a.bak}目录较长时,可以用花括号括起不同的部分
移动文件:
mv 可以移动或者重命名或目录 mv file1(源文件) file2(目标文件)
删除文件:
rm file2(目标文件或目录)
删除目录添加‘-r’ 跳过验证直接执行删除操作‘-f’
tree 查看路径结构
cd 切换目录 .表示当前目录 ..表示上级目录 cd 返回根目录
创建目录:
mkdir 创建一个空的目录 mkdir ***
mkdir -p 创建一个多层目录 mkdir -p //***
查看目录:
pwd 查看当前所在的目录
pwd -p 显示实际工作目录
ls 查看当前目录的文件与目录
ls -a 查看当前目录的文件与目录(隐藏)
ls -l 查看目录与文件的属性(可改写为 ll )
10-11 文件操作
UGO设置文件属性与权限
U : owner ,属主
G : group ,属组
O :other ,其他用户
r : read (读取),数字设定为为4
w: write (写入),数字设定为2
x:execute (执行),数字设定为1
1、 chown :修改文件属主、属组
2、 chgrp : 修改文件属组
-R 改变目录下的所有子目录或文件同时修改文件属主或属组
3、 chmod :修改文件权限
使用u、o、g、三个符号代表属主、属组、其他用户、这3种身份,a、代表全部身份。
r、w、x符号代表读、写、执行,通过赋值符增加、删除、覆盖文件权限
目标文件:file
属主增加执行权限
chmod u+x file
属组增加写入文件
chmod o+w file
同时给所有的对象添加 读、写、执行权限
chmod a=rwx file
chmod 777 file
删除所有对象的某一个权限
chmod a-x file
删除所有对象的所有权限
chmod a=- file
一次分别给不同对象增加或删除不同的权限
chmod u=r,g=rx,o+w file
ACL设置文件属性与权限
当用ll查看文件时权限字符位最后出现 "+" ,说明该文件含有ACL权限
当给用户alice添加“-”权限,如果使用ll查看,会错误地认为alice为其他用户,有读权限,但使用getfile命令查看发现alice并不属于其他用户,权限变成“对文件没有任何权限”
getfile 查看ACL权限
getfile /home/test.txt
setfile 设置ACL权限
修改用户alice下的test.txt文件的读写权限
setfile -m u:alice:rw /home/test.txt
新创建用户tom,为其添加"rwx"权限
useradd tom
setfile -m u:tom:rwx /home/test.txt
为组hr添加“rw”权限
setfile -m g:hr:rw /home/test.txt
普通特性
- -m:设定 ACL 权限。如果是给予用户 ACL 权限,则使用"u:用户名:权限"格式赋予;如果是给予组 ACL 权限,则使用"g:组名:权限" 格式赋予;
- -x:删除指定的 ACL 权限;
- -b:删除所有的 ACL 权限;
- -d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
- -k:删除默认 ACL 权限;
- -R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;
高级特性
mask权限:ACL的最大有效权限
default命令:可以继承上一个目录的权限 ( 不懂 )
mask用来指定最大有效权限。系统给用户赋予的ACL权限需要和mask的权限逻辑“相与”,“相与”之后的权限才是用户的真正权限。
例如:将mask的权限设置为 “rw” ,而 alice 用户的权限是 “rx” ,那么“相与”后的最终权限为“r--”
mask特性:
mask能临时降低用户或组(除owner和other)的权限,而不是如"setfacl -b" 命令删除所有权限。只要有任何ACL权限设置,mask会自动还原。
高级权限
SUID权限
使用ll 查看文件,第一行的第4个字符为”s“。”s“表示特殊权限SUID。
任何用户在执行该文件时,其身份是该文件的属主,在进程文件(二进制,可执行)上增加SUID权限,让本来没有权限的用户也可以访问没有权限访问的资源。