首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux下which、whereis、locate、find 区别

我们经常在linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索。 which      查看可执行文件的位置  whereis    查看文件的位置  locate     配合数据库查看文件位置  find       实际搜寻硬盘查询文件名称  1、which  语法: which 可执行文件名称  例如:  [root@redhat ~]# which passwd  /usr/bin/passwd  which是通过 PATH 环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件  2、whereis  语法: whereis [-bmsu] 文件或者目录名称  参数说明:  -b : 只找二进制文件  -m: 只找在说明文件manual路径下的文件  -s : 只找source源文件  -u : 没有说明文档的文件  例如:  [root@redhat ~]# whereis passwd  passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz 将和passwd文件相关的文件都查找出来  [root@redhat ~]# whereis -b passwd passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd  只将二进制文件 查找出来  和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。  但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。  3、 locate  语法: locate 文件或者目录名称  例 如:  [root@redhat ~]# locate passwd  /etc/passwd /etc/passwd- /etc/cron.daily/passwd /etc/init/passwd.conf /etc/init.d/passwd /etc/pam.d/chpasswd /etc/pam.d/passwd /etc/security/opasswd …………

04

selinux-guide_part3

先发上来的是第三部分,前面还有part2未整理好,下面一些内容是细细的读完文档之后的成果,对selinux是越来越感兴趣了。陆续更新中哦。 selinux contexts         系统里的文件和进程都打上的selinux 上下文标记,这些标记包含:selinux 用户,角色,类型,选项,等级。当系统运行selinux时,所有的这些信息来决定访问控制。在红帽子企业版中,selinux提供了一种组合了角色为基础的访问控制(RBAC),TYPE Enforcement,和混合等级安全(MSL)multi-level。        在linux 操作系统中用 :ls -Z flies  来查看文件和目录的selinux的上下文。 显示的语法如下:selinux user:role:type:level  linux user---->selinux policy---->selinux user policycoreutils-python装包。 [root@kikupotter ~]# semanage login -l 登录名                       SELinux 用户                MLS/MCS 范围               __default__               unconfined_u              s0s0:c0.c1023           root                      unconfined_u              s0-s0:c0.c1023           system_u                  system_u                  s0-s0:c0.c1023                       第一列的话是Linux user,第二列是selinux用户。第三列是mls/mcs的范围。这样的话linux user,通过selinux policy 于selinux user关联在一起,selinux user被限定在一定的role,和leave中运行进程。 role selinux的另一部分role-based access control security model(RBAC).role 就是RBAC的属性。 selinux user 要通过role的认证,而role 需要domain的认证。 role相当我momain与selinux user的中间人。这个role可以决定那个domain可以进去。最终,控制哪种类型的类可以通过,增加的安全性。 type type是type enforcement 的属性。 type为进程定义一个domain,为文件定义一个类型。 selinux policy rules定义了怎样的type可以相互访问,domain与type的互访,domain与domain的互访。    level level是mls和mcs的属性。 mls等级是连续的。像这样: lowlevel--highlevel。可以一样或不一样。s0-s0也可一表示成s0. 每个level都用一对sensitivity.category   sensitivity:category-set category c0.c3=c0,c1,c2,c3 mcs在红帽子系统里支持1024不同的种类。s0.s0:c0.c1023,sensitivity为s0可以通过任何的category. mls加强了强制访问控制,并且用于lspp环境。要用mls的限制功能要安装,selinux-policy-mls,配置mls为默认的selinux policy.mls 不支持x server所以在桌面环境不可用。 3.1 domain transitions        在一个域中的一个进程要过度到另一个域中通过运行程序的手段,这是需要另一个域的入口点的类型。这个入口点(entrypoint) [root@kikupotter ~]# ls -Z /usr/bin/passwd -rwsr-xr-x. root root system_u:object_r:passwd_exec_t:s0 /usr/bin/passwd A.用户想改密码。为了做这个他运行了passwd. passwd是运行在passwd_exec_t的类型下。 passwd程序通过/etc/shadow,shadow被表上了shadow_t的类型。 [root@kikupotter ~]# ls -Z /etc/shadow -r--------. root root system_u:object_r:shadow_t:s0    /e

02
领券