文件目录

用户身份与文件权限(上)

与世无争的帅哥 提交于 2020-02-29 10:14:52
用户身份与能力 文件权限与归属 文件的特殊权限 文件的隐藏属性 文件访问控制列表 su命令与sudo服务 用户身份与能力 用户身份分三种: 管理员 uid:0 root账户 系统用户 uid:1-999 系统内置账户 Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围 ,系统用户无法登陆系统 ( rhel5/6中 uid是1-499) 普通用户 uid:1000~几十万 是由管理员创建的用于日常工作的账户 ( rhel5/6中 uid是500-65535) UID就相当于我们的身份证号码一样具有唯一性 也可将特定用户权限配置为 nolgin 降低用户权限,防止越权非法提权(攻击场景中降低破坏范围) 添加用户 : useradd zhang ming 创建用户 useradd -u 6666 zhang ming 创建 uid 为 6666 的用户 useradd命令中的用户参数以及作用 参数 作用 -d 指定用户的家目录(默认为/home/username) -e 账户的到期时间,格式为YYYY-MM-DD. -u 指定该用户的默认UID -g 指定一个初始的用户基本组(必须已存在) -G 指定一个或多个扩展用户组 -N 不创建与用户同名的基本用户组 -s 指定该用户的默认Shell解释器 uid

apache虚拟目录配置实例

隐身守侯 提交于 2020-02-29 09:23:13
apache 虚拟目录配置实例 一、首先,开启虚拟主机配置 在文件httpd.conf中找到: include conf/extra/httpd-vhosts.conf #开启 二、对httpd-vhost.conf文件进行配置 Java代码 //监听端口,NameVirtualHost <VirtualHost>标签依靠这个哦 NameVirtualHost *:80 <VirtualHost *:80> ServerName testa.com DocumentRoot "/var/www/test.com" <Directory "/var/www/test.com"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog "/var/log/httpd/error_test.log" CustomLog "/var/log/httpd/comm_test.log" common </VirtualHost> 三、本地host中添加域名 IP 对应关系(单IP多域名时可用不同端口来完成) httpd.conf是Apache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做

PHP include寻找文件规则

﹥>﹥吖頭↗ 提交于 2020-02-29 08:51:25
说明与约定: 以下原则适用于4个include类函数。 当前工作目录简称CWD,当前执行脚本简称CSD(Calling Script) include后面的字符串分为三种情况: 1)文件路径(a.php, test/a.php): 第一步,类路径,类路径中如果出现相对目录,指的是相对于CWD的目录 第二步,CWD目录 第三步,CSD目录 2)相对路径(./a.php, './test/a.php') 指的是相对于CWD的路径 3)绝对路径 绝对路径。 备注:类路径只有在路径中只有文件名而没有目录时起效,不包括./a.php这样的路径。而类路径中的.代表当前工作目录,而在类路径起效的情况下,当前工作目录是一定会被搜寻的,所以这个.只是提升当前工作目录的优先级的作用。 来源: oschina 链接: https://my.oschina.net/u/127301/blog/75782

python学习笔记<os module>

自闭症网瘾萝莉.ら 提交于 2020-02-29 08:20:01
os 模块属性 linesep 用于在文件中分隔行的字符串 sep 用来分隔文件路径名的字符串 pathsep 用于分隔文件路径的字符串 curdir 当前工作目录的字符串名称 pardir (当前工作目录的)父目录字符串名称 os 模块的文件/目录访问函数 文件处理 mkfifo()/mknod() 创建命名管道/创建文件系统节点 re move()/unlink() 删除文件 os.remove()函数用来删除一个文件。 rename()/renames() 重命名文件 *stat() 返回文件信息(包含stat(), lstat(), xstat()) symlink() 创建符号链接 utime() 更新时间戳 tmpfile() 创建并打开('w+b')一个新的临时文件 walk() 生成一个目录树下的所有文件名 //还不知道咋用 目录/文件夹 chdir()/fchdir() 改变当前工作目录/通过一个文件描述符改变当前工作目录 chroot() 改变当前进程的根目录 listdir() 列出指定目录的文件 返回指定目录下的所有文件和目录名。 os.listdir(dirname):列出dirname下的目录和文件 getcwd()/getcwdu() 返回当前工作目录/功能相同, 但返回一个Unicode对象 os.getcwd()函数得到当前工作目录

史上最简单的Hibernate入门简介

霸气de小男生 提交于 2020-02-29 08:13:35
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。 在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。本文的目的是演示一下Hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再低的入门门槛。 下载文件 你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。 1、Hibernate包下载地址: http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc 2、Ant包下载地址: http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip 3、JDBC Driver要根据你用的database来定,一般database官方网站上都会有。Hibernate支持常用的database,比如 MySQL, Oracle,

File类的getPath、getAbsolutePath和getCanonicalPath的不同

大兔子大兔子 提交于 2020-02-29 07:50:17
一、概念上的不同 getPath public String getPath() 将此抽象路径名转换为一个路径名字符串。所得字符串使用默认名称分隔符分隔名称序列中的名称。 返回: 此抽象路径名的字符串形式 --------------------------------------------------------- getAbsolutePath public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath() 方法一样。如果此抽象路径名是空抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 user.dir 指定。否则,使用与系统有关的方式解析此路径名。在 UNIX 系统上,根据当前用户目录解析相对路径名,可使该路径名成为绝对路径名。在 Microsoft Windows 系统上,根据路径名指定的当前驱动器目录(如果有)解析相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录解析它。 返回: 绝对路径名字符串,它与此抽象路径名表示相同的文件或目录 抛出: SecurityException - 如果无法访问所需的系统属性值。 另请参见: isAbsolute() ------------------------------------

mysql初识之数据文件及其他文件

跟風遠走 提交于 2020-02-29 06:23:12
在 mysql中数据文件存放于在my.cnf中datadir指定的路径,使用的表引擎不同产生的文件格式、表文件个数也会有所差异。mysql的表引擎有 多种,表的扩展名也不一样,如innodb用“ .ibd”,archive用“.arc ”,csv用“.csv”等。 myisam表引擎 myisam表会产生三个文件:MYI、MYD、frm文件 frm文件: 主要存放表的元数据(meta),包括表结构定义信息等。不论是哪个表引擎都会有一个frm文件,存放在数据库的数据目录下。 .MYI文件(索引文件): 主要存放myisam的索引信息可以被cache的内容主要源于 .MYI文件中,每个myisam表对应一个 .myi文件,存放的位置与 .frm 、MYI一样。 innodb引擎 使用innodb引擎时,需要理解独立表空间、共享表空间。 独立表空间:每个表都会生成以独立的文件方式来存储,每个表都一个.frm的描述文件,还有一个.ibd文件。其中这个文件包括了单独一个表的数据及索引内容,默认情况下它的存储在mysql指定的目录下。 独立表空间优缺点: 优点: 每个表都有 自己独立的表空间;每个表的数据和索引都会存储在各个独立的表空间中;可以实现 单表 在不同的数据进行迁移;表空间可以回收(除了drop table操作,表空不能自己回收);drop table 操作自动回收表空间

文件包含漏洞

坚强是说给别人听的谎言 提交于 2020-02-29 05:17:55
1、漏洞原理 主要在PHP中产生比较多,本文详细介绍PHP的包含漏洞 PHP中包含其他文件的函数有这些,在做代码审计需要用到和记住 include() //当使用该函数包含文件时,只有代码执行到 include() 函数时才将文件包含进来,发生错误时只给出一个警告,继续向下执行。 include_once() //功能和 include() 相同,区别在于当重复调用同一文件时,程序只调用一次。 require()//只要程序一执行就会立即调用文件,发生错误的时候会输出错误信息,并且终止脚本的运行 require_once()//的功能与 require() 相同,区别在于当重复调用同一文件时,程序只调用一次。 fopen()//打开指定的某个文件 readfile()//读取指定的文件 2、分类 1. 本地文件包含 LFI(Local File Include) 2. 远程文件包含 RFI(Remote File Include)(需要 php.ini 中 allow_url_include=on、allow_url_fopen = On) 3、漏洞利用 本地包含漏洞案例(LFI) 新建一个phpinfo.txt,然后新建一个shell.php,写入: <?php Include("phpinfo.txt"); ?> 访问shell.php会输出phpinfo页面内容

Linux Setuid(SUID)和Setgid(SGID) sticky bit

泪湿孤枕 提交于 2020-02-29 02:53:15
http://www.php100.com/html/webkaifa/Linux/2010/0812/6392.html  1、setuid和setgid的解说    setuid和setgid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令 。比如我们用普通用户运行passwd命令来更改自己的口令,实际上最终更改的是/etc/passwd文件,我们知道/etc/passwd文件是用户管理的配置文件,只有root权限的用户才能更改:   [root@localhost ~]# ls -l /etc/passwd   -rw-r--r-- 1 root root 2379 04-21 13:18 /etc/passwd   作为普通用户,如果修改自己的口令通过修改/etc/passwd肯定是不可完成的任务,是不是可以通过一个命令来修改呢?答案是肯定的,作为普通用户可以通过passwd 来修改自己的口令,这归功于passwd命令的权限。我们来看一下:   [root@localhost ~]# ls -l /usr/bin/passwd   -r-s--x--x 1 root root 21944 02-12 16:15 /usr/bin/passwd   因为/usr/bin/passwd 文件已经设置了setuid 权限位(也就是r-s--x-

linux文件权限位SUID,SGID,sticky的设置理解

非 Y 不嫁゛ 提交于 2020-02-29 01:24:32
SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来 执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。 SGID含义:运行者将具有文件所有组的权限。 粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大 型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。 set uid ;set gid;sticky bit区别 每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行. setuid: 在执行时具有文件所有者的权限. setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性. sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。 如何设置: 操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作, 1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户) chmod g+s tempdir --