第二章下预习笔记

2.17 隐藏权限lsattr_chattr

设置隐藏权限 chattr

chattr +i  1.txt   lsattr 查看隐藏权限

删除隐藏权限

chattr -i 1.txt 

文件加上i 权限 无法修改,删除,更改名字,修改文件时间

当让任何人无法修改,删除,更改文件名,更改时间的时候使用

可以追加文件 chattr +a 1.txt  

可以更改时间信息 touch 1.txt

不能删除 改名 改文件内容

删除a权限  chattr -a 1.txt

lsattr -d 111 列出目录本身的权限 

lsattr +i 111 给目录添加i权限

也是无法删除目录,改名,创建文件

删除目录权限  lsattr -i 111 

chatrr +a 111 给目录添加a权限

可以在目录下touch一个文件,并追加内容到文件里面

目录添加i权限不会影响目录下文件的权限

可以追加内容到这个文件里面

lsattr -R 111

可以列出目录下子文件的权限

lsattr -a /root

可以列出目录下所有文件的权限,包括隐藏文件

2.18 特殊权限set_uid

passwd 

普通用户可以更改自己的密码

s权限可以让普通用户临时拥有该命令所有者的身份

前提是一个二进制的文件

增加s权限  chmod u+s /usr/bin/ls

删除权限 chmod u-s /usr/bin/ls

大写S root和普通用户也可以执行ls命令,缺少x权限,加上小写x的执行权限就变成了小s

普通用户看的other有没有执行权限,s只是一个set_uid

目录也可以加s权限,目录不需要执行,加上没有任何意义

2.19 特殊权限set_gid

把ls命令还原到原始的权限

chmod g+s /usr/bin/ls   ls命令增加set_gid权限

普通用户临时拥有所属组的身份

[root@centos1 ~]# su - user1
Last login: Sat Jul 28 06:50:27 EDT 2018 on pts/1
[user1@centos1 ~]$ ls /root/
111  1.txt  2.txt  anaconda-ks.cfg.1

set_gid 权限也可作用于目录上

chmod g+s 234  目录添加set_gid权限

当作用于目录上创建的子文件和子目录的所属组和该目录的所属组保持一致

[root@centos1 ~]# mkdir 234
[root@centos1 ~]# chmod g+s 234
[root@centos1 ~]# ls -ld 234
drwxr-sr-x 2 root root 6 Jul 29 08:34 234
[root@centos1 ~]# chown :user1 234
[root@centos1 ~]# !ls
ls -ld 234
drwxr-sr-x 2 root user1 6 Jul 29 08:34 234
[root@centos1 ~]# touch 234/aminglinux
[root@centos1 ~]# ls -l 234/
total 0
-rw-r--r-- 1 root user1 0 Jul 29 08:37 aminglinux
[root@centos1 ~]# mkdir 234/am
[root@centos1 ~]# ls -l 234/
total 0
drwxr-sr-x 2 root user1 6 Jul 29 08:38 am
-rw-r--r-- 1 root user1 0 Jul 29 08:37 aminglinux
[root@centos1 ~]# chmod g-s 234
[root@centos1 ~]# touch 234/aminglinux111
[root@centos1 ~]# !ls
ls -l 234/
total 0
drwxr-sr-x 2 root user1 6 Jul 29 08:38 am
-rw-r--r-- 1 root user1 0 Jul 29 08:37 aminglinux
-rw-r--r-- 1 root root  0 Jul 29 08:39 aminglinux111
[root@centos1 ~]# mkdir 234/am1
[root@centos1 ~]# !ls
ls -l 234/
total 0
drwxr-sr-x 2 root user1 6 Jul 29 08:38 am
drwxr-xr-x 2 root root  6 Jul 29 08:39 am1
-rw-r--r-- 1 root user1 0 Jul 29 08:37 aminglinux
-rw-r--r-- 1 root root  0 Jul 29 08:39 aminglinux111
[root@centos1 ~]# ls -ld 234
drwxr-xr-x 4 root user1 66 Jul 29 08:39 234
 

2.20 特殊权限 stick_bit

防删除位

作用是防止别人删除自己的文件,root用户除外

[root@centos1 ~]# ls -ld /tmp
drwxrwxrwt. 46 root root 4096 Jul 28 03:12 /tmp

[user1@centos1 tmp]$ touch aming
[user1@centos1 tmp]$ ls -l aming
-rw-rw-r-- 1 user1 user1 0 Jul 29 09:05 aming
[user1@centos1 tmp]$ vi aming
[user1@centos1 tmp]$ chmod 777 aming
[user1@centos1 tmp]$ !ls
ls -l aming
-rwxrwxrwx 1 user1 user1 23 Jul 29 09:06 aming
[root@centos1 ~]# su - aming
[aming@centos1 ~]$ cd /tmp/
[aming@centos1 tmp]$ vi aming
[aming@centos1 tmp]$ 
[aming@centos1 tmp]$ rm -f aming
rm: cannot remove ‘aming’: Operation not permitted

普通用户对文件和目录没有写的权限,为什么可以删除呢?

是看该文件和目录所在的目录又没有写权限,而不是看要删除的文件本身的权限

如文件1.txt 所在目录的权限是777,所以可以删除

如果加上t 就可以防止删除

[aming@centos1 tmp]$ mkdir user1
[aming@centos1 tmp]$ chmod 777 user1

[aming@centos1 tmp]$ ls -ld user1
drwxrwxrwx 2 aming aming 6 Jul 29 09:11 user1

[user1@centos1 tmp]$ cd user1/
[user1@centos1 user1]$ touch 1.txt
[user1@centos1 user1]$ mkdir 234
[aming@centos1 user1]$ ll
total 0
-rw-rw-r-- 1 user1 user1 0 Jul 29 09:13 1.txt
drwxrwxr-x 2 user1 user1 6 Jul 29 09:13 234

[aming@centos1 user1]$ rm -r 1.txt 
rm: remove write-protected regular empty file ‘1.txt’? y
[aming@centos1 user1]$ rm -r 234
rm: remove write-protected directory ‘234’? y

[aming@centos1 user1]$ pwd
/tmp/user1
[aming@centos1 user1]$ ls -ld .
drwxrwxrwx 2 aming aming 6 Jul 29 09:15 .

2.21 软链接文件

[root@centos1 tmp]# ls -l /bin
lrwxrwxrwx. 1 root root 7 Jul 13 13:51 /bin -> usr/bin

文件本身里面存了另外一个文件的路径或着是目录

作用是可以节省空间

ln -s 源文件  目标地址

ln -s /tmp/yum.log /root/111/yum.log

[root@centos1 tmp]# ln -s /tmp/yum.log /root/111/yum.log
[root@centos1 tmp]# ls -l /root/111
total 16
-rw-r--r-- 1 root root     0 Jul 28 02:54 1.tx~
-rw-r--r-- 1 root root   211 Jul 28 02:57 1.txt
-rw-r--r-- 1 root root 12288 Jul 28 02:54 1_txt.swp
drwxr-xr-x 2 root root     6 Jul 28 02:50 222
-rw-r--r-- 1 root root     0 Jul 28 02:54 4913
lrwxrwxrwx 1 root root    12 Jul 29 09:55 yum.log -> /tmp/yum.log

创建目录的软链接

[root@centos1 tmp]# ln -s /tmp/aming /root/111/aming2
[root@centos1 tmp]# ls -l !$
ls -l /root/111/aming2
lrwxrwxrwx 1 root root 10 Jul 29 10:02 /root/111/aming2 -> /tmp/aming

相对路径软链接

弊端:仅在当前目录下,如果把软链接文件拷贝到其它服务器,或者是目录改名,软链接就会出现问题

做软链接尽量使用绝对路径

[root@centos1 tmp]# ln -s yum.log aminglinux.log
[root@centos1 tmp]# ls -l !$
ls -l aminglinux.log
lrwxrwxrwx 1 root root 7 Jul 29 10:04 aminglinux.log -> yum.log

案例讲解:假如一个目录空间快满了,有一个服务会不停的写日志

2.22 硬链接文件

硬链接不支持对目录做硬链接,也不能跨分区,只支持对文件做硬链接

两个文件相互为硬链接,不存在源和目标

直接能看的文件可以看作是一张皮,做硬链接相当于做了两张皮,真正存文件信息的在inode里面。

文件可以做硬链接,但是不能跨分区

2.23 find 上 命令

whereis   locate

yum -y install mlocate

updatedb

快捷键

ctrl + l 清屏   ctrl + d 退出一个终端   相当于exit logout

ctrl + c 取消   ctrl + u 往前删   ctrl + e  光标定位到行尾

ctrl + a 光标定位到行首

-type 选项是指定文件的选项

-name 选项指定文件的名字

d 目录 

f(-) 文件 (相当于ls -l 看到的减号)

l  软链

s socket 文件

c 字符串

b 块设备  

2.24 find 命令中

find   /  -type  -name

-mtime 创建或更改文件内容的时间

-ctime 最近更改时间

-atime 最近访问时间

stat 查看文件的具体信息的

-atime -1 一天以内的

-atime +1 一天以前的

-o 或者

2.25 find命令下

查找文件的硬链接

find / -inum inode号 

-imun 指定文件的inode号

find /root/ -type f -mmin -60

-mmin 指定分钟数

查找一个小时以内更改过的文件

find /root/ -type f -mmin -60 -exec ls -l {} \;

查找一个小时以内更改过的文件并用ls命令查看文件

-exec 是find的选项

{} 包括前面列出的文件

;分号需反斜杠脱义

find /root/ -type f -size +10K -exec ls -lh {} \;

-size 指定文件的大小

k 小写   kb

M 大写兆

2.26 文件名后缀

linux命令严格区分大小写

Linux的文件名后缀可以自定义,但不代表文件的类型,同样的文件命名成同样的类型,是大家约定俗成的,方便大家管理文件。

date 查看时间命令

[root@centos1 ~]# date
Mon Jul 30 04:49:50 EDT 2018


echo $LANG 查看系统默认语言

[root@centos1 ~]# echo $LANG
en_US.UTF-8

modify 是修改文件内容的时间

change 是更改inode的时间

2.27 linux和windows 互传文件

yum -y install lrzsz

linux上的文件传到windows sz 文件

Windows文件传到linux上 rz   r代表remount远程

猜你喜欢

转载自blog.csdn.net/weixin_37817498/article/details/81260624