Linux学习笔记 第五课

一、特殊权限 (lsattr,chattr)

二、文件隐藏权限(suid,sgid,stick)

三、查看命令(which,type,whereis,locate,find

四、ln链接文件 (软链接,硬链接)


一、特殊权限 (lsattr,chattr)

1、lsattr  查看隐藏权限 i,a

[[email protected] dir2]# lsattr
-------------e- ./file.txt

-a 显示所有文件的特殊权限,

-V 显示lsattr 命令版本信息和当前目录文件特殊权限

-d 当前目录本身的权限

-R 递归显示目录及子目录文件

2、chattr   (a,i)

[[email protected] ~]# lsattr +i  file1   不能修改,移动,重命名,删除文件或目录,甚至root也不可以

[[email protected] ~]# lsattr +a file1   不能修改,重命名,只能追加文件和目录

+i 实验

[[email protected] ~]# touch 1.txt
[[email protected] ~]# lsattr 1.txt
-------------e- 1.txt
[[email protected] ~]# chattr +i 1.txt

[[email protected] ~]# lsattr 1.txt
----i--------e- 1.txt
[[email protected] ~]# mv 1.txt 11.txt
mv: 无法将"1.txt" 移动至"11.txt": 不允许的操作
[[email protected] ~]# rm -rf 1.txt
rm: 无法删除"1.txt": 不允许的操作
[[email protected] ~]# echo abcd >>1.txt
-bash: 1.txt: 权限不够

+a实验

[[email protected] ~]# mkdir dir1

[[email protected] ~]# ll dir1
总用量 0
[[email protected] ~]# lsattr dir1
[[email protected] ~]# lsattr -d dir1
-------------e- dir1
[[email protected] ~]# chattr +a dir1
[[email protected] ~]# lsattr -d dir1     
-----a-------e- dir1
[[email protected]localhost ~]# mv dir1 dir11    // 不允许重命名 
mv: 无法将"dir1" 移动至"dir11": 不允许的操作
[[email protected] ~]# chmod 777 dir1     // 不允许chmod,chown
chmod: 更改"dir1" 的权限: 不允许的操作
[[email protected] ~]# rm -rf dir1     // 不允许删除
rm: 无法删除"dir1": 不允许的操作
[[email protected] ~]# touch dir1/1.txt     // 运行创建文件
[[email protected] ~]# ls dir1
1.txt

二、隐藏权限

suid: 权限4,让普通用户拥有root权限执行命令和二进制可执行文件。之作用于文件

sgid: 权限2,对文件,与suid的作用相同。对目录,递归继承上级目录所属组

stick:权限1,防删除目录或文件,作用于其他用户。 只有所有者才可以删除文件或目录。其他人无权限删除

*******************************

小s代表有执行权限,大S表示无执行权限  *

*******************************

1、suid举例(取消普通用户passwd 命令)

passwd 命令作用于/etc/shadow 文件。其文件权限000。

[[email protected] ~]# which passwd
/usr/bin/passwd
[[email protected] ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd   
[[email protected] ~]# chmod u-s  /usr/bin/passwd 
[[email protected] ~]# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd
[[email protected] ~]# ll /etc/shadow
---------- 1 root root 888 3月  19 09:38 /etc/shadow

[[email protected] ~]# su - user2
[[email protected] ~]$ passwd            普通用户无法执行passwd命令
更改用户 user2 的密码 。
为 user2 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
重新输入新的 密码:
passwd: 鉴定令牌操作错误

2、sgid举例(继承上级目录权限)

不使用g+s

[[email protected] ~]# chmod :user1 dir1

[[email protected] ~]# ll -d dir1      -d显示目录本身信息
drwxr-xr-x  3 root user1  4096 3月  19 09:52 dir1

[[email protected] ~]# mkdir dir1/d1

[[email protected] ~]# ll dir1
drwxr-xr-x 2 root root 4096 3月  19 09:55 d1

使用g+s

[[email protected] ~]# chmod g+s dir1
[[email protected] ~]# ll -d dir1
drwxr-sr-x 3 root user1 4096 3月  19 09:55 dir1  x变成了s
[[email protected] ~]# mkdir dir1/d2
[[email protected] ~]# ll dir1
drwxr-xr-x 2 root root  4096 3月  19 09:55 d1
drwxr-sr-x 2 root user1 4096 3月  19 09:58 d2

g+s 与chown的区别。chown只作用于现有目录,而g+s不能作用于现有目录或文件,作用于新建

[[email protected] ~]# chown -R :user1 dir1   
[[email protected] ~]# ll dir1
drwxr-xr-x 2 root user1 4096 3月  19 09:55 d1
drwxr-sr-x 2 root user1 4096 3月  19 09:58 d2
[[email protected] ~]# mkdir dir1/d3
[[email protected] ~]# ll dir1
drwxr-xr-x 2 root user1 4096 3月  19 09:55 d1
drwxr-sr-x 2 root user1 4096 3月  19 09:58 d2
drwxr-xr-x 2 root root  4096 3月  19 10:00 d3

3、t举例(防止删除)

[[email protected] ~]# ll -d /tmp    默认/tmp有t权限
drwxrwxrwt. 4 root root 4096 3月  19 03:13

用user1创建一个文件

[[email protected] ~]# su - user1
[[email protected] ~]$ echo  123456 >>/tmp/user1.txt
[[email protected] ~]$ ll /tmp/user1.txt
-rw-rw-r-- 1 user1 user1 7 3月  19 10:05 /tmp/user1.txt
切换成user2,发现不能对user1.txt 删除

[[email protected] ~]$ su - user2
密码:
[[email protected] ~]$ echo abcdef >> /tmp/user1.txt
-bash: /tmp/user1.txt: 权限不够
[[email protected] ~]$ rm -rf /tpm/user1.txt
[[email protected] ~]$ rm -f /tmp/user1.txt
rm: 无法删除"/tmp/user1.txt": 不允许的操作

取消t权限
[[email protected] ~]$ su - root
密码:
[[email protected] ~]# chmod o-t /tmp
[[email protected] ~]# ll -d /tmp
drwxrwxrwx. 5 root root 4096 3月  19 10:05 /tmp
[[email protected] ~]# su - user2
[[email protected] ~]$ rm -rf /tmp/user1.txt
[[email protected] ~]$ ll /tmp/  已经删除user1.txt

三、查看命令  (which,type,whereis,locate,find)

1、which ls  查看命令路径或别名

which cd (内核内置的)

2、type cd  查看命令是否属于shell内置

[[email protected] ~]# type cd
cd is a shell builtin
[[email protected] ~]# type ls
ls is aliased to `ls --color=auto‘

3、whereis  类似which

[[email protected] ~]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
[[email protected] ~]# whereis cd
cd: /usr/share/man/man1/cd.1.gz

4、locate   查找文件

yum install -y mlocate

locate ls

updatedb   刷新库文件, 它每天会自动生成

5、find

(1) -type:按文件类型搜索(-type b,c,d,f,p,l)

find  /root  -type f     列出/root 下的文件,包括隐藏的

find  /root  -type d     搜/root下目录

(2) -name:按文件名

[[email protected] ~]# find /etc/ -name grub*

(3)按时间搜索(atime,ctime,mtime,amin,cmin,tmin)

find /etc   -name *.conf     -mtime +5  5天以前

find /etc   -name *.conf     -mmin   -60  60分钟内

find /etc   -name *.conf     -mmin -60 | xargs  ls -l

find /etc   -name *.conf     -mmin -60 -exec  ls -l {} \;   {} 表示前面命令的结果

****************************

atime    access  访问时间

ctime    change  更改文件属性的时间

mtime   modify  更改文件的内容

用stat file1 查看文件或目录时间属性

vi file 会改3个属性

chmod 改 ctime

****************************

(4)!取反,除目录外的内容

find /etc/*   ! -type d

(5)-o 或者

find  /etc/ -type d -o -mtime -1


四、软链接和硬链接

************************************************

创建软链接必须绝对路径,否则有时会出现奇葩问题 *

************************************************

[[email protected] ~]# ln -s /etc/selinux/  /tmp/1

[[email protected] ~]# cd /tmp/1

[[email protected] 1]# pwd

/tmp/1

[[email protected] 1]# pwd -P    // 显示真实目录

/etc/selinux

[[email protected] 1]# pwd -L

/tmp/1


硬链接:

不能作用于目录,不能跨分区,硬链接不分主次。

inode相同,文件同步。删除不影响另一链接文件

软链接:

类似于快捷方式。可作用于目录,可跨分区

-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

				
时间: 2024-10-10 04:11:55

Linux学习笔记 第五课的相关文章

Linux基础学习笔记-第五课:文件权限

Linux Linux下一切皆文件,每个文件权限都有属主.属组.其他三个身份,每个身份都有read.write.excute设定 账号配置文件:/etc/passwd 密码配置文件:/etc/shadow 组配置文件: /etc/group 修改系统默认语言:/etc/sysconfig/i18n修改文件属性及权限: chgrp:修改属组 chown:修改属主 chmod:修改权限 权限对于 文件: r:可读取文件实际内容,如文本文件的文字内容 w:可编辑.新增.修改文件的内容,但不包含删除该文

Linux学习笔记第五周第二次课(3月6日)

7.6 yum更换国内源 wget 下载网址,下载文件: 安装wget命令,#yum install -y wget: curl -O 下载网址,下载文件 7.7 yum下载rpm包 安装扩展源epel 安装命令#yum install -y epel-release 查看命令#yum list | grep epel yum下载rpm包 仅下载不安装命令,#yum install -y 包名 --downloadonly 查看下载的文件,命令#ls /var/cache/yum/x86/7/

Linux学习笔记第五周第四次课(3月8日)

8.6 管道符和作业控制 管道符|,前面命令的结果给到后面命令处理: fg把任务调到前台:bg丢到后台并运行: #vmstat 1不停的显示系统的状态 sleep 1000暂停1000秒 8.7/8.8 shell变量 PATH环境变量: #env获取到系统变量,系统内置: #set查看系统及用户变量 有特殊符号的要用单引号: 全局变量,其他连接的用户也可以查看到这个变量:其他用户看不到: #w查看当前主机连接的用户信息: pstree命令安装,#yum install psmisc 全局变量设

Linux学习笔记第五周第五次课(3月9日)

8.10 shell特殊符号cut命令 c='$a$b',c就等于$a$b字符,也相当于c=\$a\$b cut,截取字符串:-d指定分隔符: 8.11 sort_wc_uniq命令 sort排序: 特殊符号排在最前,然后数字,然后字母顺序 -n的话,字母表示为0: wc -l统计行数,-m统计全部字符数(含隐藏字符):-w word单词: uniq去重复:#uniq 2.txt: 需要先排序,再去重,命令为#sort 2.txt | uniq -c 以上操作,不会更改文件内容,只是处理显示结果

Linux学习笔记第五周第一次课(3月5日)

7.1 安装软件包的三种方法 三种方法 rpm工具,安装会提示依赖其他包,要一个包一个包安装: yum工具,自动下载安装依赖包,最容易安装: 源码包,源代码,需要编译器编译再安装,最难安装: 7.2 rpm包介绍 挂载光驱,#mount /dev/cdrom/ /mnt/ centos7全部是64为rpm包: 7.3 rpm工具用法 rpm包安装命令用法#rpm -ivh rpm包文件 -i,install: -v,可视化: -h,人性化: -U,update升级:升级包命令#rpm -Uvh

Linux学习笔记第五周第三次课(3月7日)

8.1 shell介绍 每个用户都有自己的shell: Bourne人名,为了纪念他: 搜索zsh命令,#yum list | grep zsh 搜索ksh命令,#yum list | grep ksh 逻辑判断if,for等等: 8.2 命令历史 输入过的命令,会记录下来,上下键进行查看: 历史命令存在.bash_history里面,最大1000条: 查看变量HISTSIZE条数,#echo $HISTSIZE 查看目前的历史命令内容,#history: 设置记录历史命令和所运行时间,#HIS

Linux学习笔记 第三课

一.目录结构 二.简单命令(ls,cd,pwd,which,alias,pstree,tree) 三.环境变量PATH应用 四.快捷键 五.扩展知识   (stty  ,ping 及 /var/log) 一.目录结构 1. /bin, /sbin, /usr/bin, /usr/sbin      命令目录:  lli下目录都是可执行的文件,颜色绿色.root  ->sbin   bin->普通用户 2. /boot  内核和引导程序的目录       /etc/grub.conf->/

Linux学习笔记 第四课

************************************************** mkdir,rmdir,rm,cp,mv,chown,chmod都有-v选项 可视化  都用了别名 提示,避免提示都用绝对路径 /bin/cp /bin/mv /bin/rm /bin/chown /bin/chmod ************************************************** 一.目录相关命令(mkdir.rmdir.rm.cp.mv) 二.文件相关命

Linux学习笔记 第五章Linux首次登陆与在线求助 man page

 X Window与命令行模式的切换   1. 通常我们也称命令行模式为终端界面(terminal或console). Linux默认的情况下会提供6个Terminal来让用户登录,切换的方式为使用[Ctrl]+[Alt]+[F1]~[F6]的组合按钮. 2.系统会将[F1]~[F6]命名为tty1~tty6的操作界面环境. 3.切换到X Window窗口界面[Ctrl]+[Alt]+[F7]就可以了. 1~3总结: [Ctrl]+[Alt]+[F1]~[F6]:文字界面登录tty1~tty6终