配置放在什么目录中
Ⅰ linux中的配置文件是什么
一般在用户/root 文件下面,.config
linux中的配置文件一般都是这种格式的,前面有个.
类似windows中的隐藏文件。
Ⅱ linux系统中网口网络配置文件存放在系统中哪个一级目录下
网卡配置文件默认存放在/etc这个一级目录下
/etc/sysconfig/network-scripts/ifcfg-eth0
以上linux6.x系列通用配置文件
Ⅲ 二、springboot配置文件
1. 配置文件
Spring Boot使用一个全局的配置文件
application.properties
application.yml
配置文件的作用:修改Spring Boot自动配置的默认值,SpringBoot在底层都给我们自动
配置好。有什么配置项,可以移步官方文档
配置文件一般放在src/main/resources目录或者类路径/confifig下,当然还有很多位置可
以放,它们会有不同优先级,后面会讲到。
YAML (YAML Ain't Markup Language)
简单介绍
<!--绑定配置文件处理器,配置文件进行绑定的时候就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- 将应用打包成一个可执行Jar包,直接使用java -jar xxxx的命令来执行 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>以前的配置文件:大多是xml
.yml是YAML语言的文件,以数据为中 心,比json、xml等更适合做配置文件
全局配置文件的可以对一些默认配置值进行修改
配置实例
xml:
yml:
2. YAML语法
基本语法
K:(空格)V 标识一对键值对
以空格的缩进来控制层级关系
只要是左对齐的一列数据,都是同一层级的
属性和值也是大小写敏感
实例:
值的写法
普通的值
k: v 字面量直接来写,字符串默认不用添加单引号
" " 双引号 不会转义字符串里面的特殊字符;
<server>
<port>8081</port>
</server>
server:
port: 8081
server:
port: 8081
path: /hello // 冒号后面的空格不要拉下' ' 单引号 会转义字符,特殊字符最终是一个普通的字符串
对象
普通写法:
行内写法
frends:{ lastName: zhang,age: 18 }
Map
示例:
maps: {k1: v1,k2: v2}
数组
普通写法:
pets: // var onj = {pets: ['cat','pig','dog']}
- cat
- pig
- dog
行内写法
pets:[cat, pig, dog]
配置文件获取
将配置文件中的每一个值映射到此组件中
1. Persion
name: "wang \n qian" // 输出:wang 换行 qian
frends:
lastName: zhang
age: 20package com.wrq.boot.bean;
@Component
@ConfigurationProperties(prefix = "persion")
public class Persion {
private String name;
private int age;
private double weight;
private boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Object> list;
private Dog dog;
此处,这个bean的getter、setter和tostring方法已经省略,千万不能忽略!
}
@ConfifigurationProperties 意思是:我们类里面的属性和配置文件中的属性做绑定
不使用此注解,可以在bean的属性添加@value()注解,如下:
@Component
// @ConfigurationProperties(prefix = "persion")
public class Persion {
@value("${persion.name}") // $()读取配置文件、环境变量中的值
private String name;
@value("#{11*2}") // #{SpEL} 采用表达式
private int age;
@value("true") // 直接赋值
private boolean boos;
}
此处采用@ConfifigurationProperties的方式,@value()和@ConfifigurationProperties的
区别见下方表格。prefifix = "persion" 配置文件中那个下面的属性来一一映射
@Component 如果想要这个注解起作用,必须放到容器里面
2. Dog
package com.wrq.boot.bean;
public class Dog { // 用作Persion中的属性
private String name;
private int age;
此处,这个bean的getter、setter和tostring方法已经省略,千万不能忽略!
}
3. 配置文件
方式一: application.yml
persion:
name: 王大锤
age: 18
weight: 125
boss: false
birth: 2018/5/5
maps: {k1: v1,k2: v2}
list:
- wangli
- wang
dog:
name: xiaogou
age: 2
方式二: application.propertiespersion.name = 王大锤
persion.age = 18
persion.weight = 125
persion.boss = false
persion.birth = 2018/5/5
persion.maps.k1 = v1
persion.maps.k2 = v2
persion.dog.name = xiaogou
persion.dog.age = 15
4. 测试类:BootApplicationTests
package com.wrq.boot;
@RunWith(SpringRunner.class)
@SpringBootTest
public class BootApplicationTests {
@Autowired
Persion persion;
@Test
public void contextLoads() {
System.out.print(persion);
}
}
5. 运行 BootApplicationTests方法
控制台打印:
application.yml的结果:
Persion{name='王大锤', age=18, weight=125.0, boss=false, birth=Sat May
05 00:00:00 CST 2018, maps={k1=v1, k2=v2}, list=[wangli, wang],
dog=Dog{name='xiaogou', age=2}}
application.properties的结果:
Persion{name='��Ǭ', age=18, weight=125.0, boss=false, birth=Sat
May 05 00:00:00 CST 2018, maps={k2=v2, k1=v1}, list=[wangli, wang],
dog=Dog{name='xiaogou', age=15}}
把Bean中的属性和配置文件绑定,通过yml文件和properties都可以做到,但是properties
文件出现乱码。
properties中文读取乱码:File->Settings->File Encodings最底部选utf-8、Tranparent打
上勾
注解比较
@value和@ConfifigurationProperties获取值比较
名词解释:
松散绑定
last-name和lastName都可以获取导致,则代表支持松散绑定
JSR303@Component
@ConfigurationProperties(prefix = "persion") // 如果使用的是@value注入值
时,无法使用校验
@Validated // 添加此注解
public class Persion {
@Email // 配置文件书写的属性必须是邮箱格式,不符合报错!
private String name;
}
复杂类型封装
如果获取配置文件中map的值时,@value是获取不到值的
@value("${persion.maps}") // 由于使用的是@value,无法获取配置文件中的map
private Map<String,Object> maps;
@PropertySource
@PropertySource:加载指定配置文件
@ConfifigurationProperties()默认是从全局配置文件中获取值,也就是
application.properties这个文件中获取值。
如果做的配置很多,全局的配置文件就会特别大,为了方便管理。我会创建不同的配置文
件定向管理不同的配置。
如创建persion.properties文件单独存放persion需要的配置
@PropertySource就是用来导入创建的配置文件
示例:
1. persion.properties
同时把两个全局的配置中关于Persion的配置都注释掉persion.name = 王弟弟
persion.age = 18
persion.weight = 125
persion.boss = false
persion.birth = 2018/5/5
persion.maps.k1 = v1
persion.maps.k2 = v2
persion.dog.name = xiaogou
persion.dog.age = 15
2. Persion
package com.wrq.boot.bean;
@Component
@PropertySource(value = {"classpath:persion.properties"})
@ConfigurationProperties(prefix = "persion")
public class Persion {
private String name;
private int age;
private double weight;
private boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Object> list;
private Dog dog;
此处,这个bean的getter、setter和tostring方法已经省略,千万不能忽略!
}
这样运行测试类,控制台就可以打印persion.properties中的数据。
通过下面的注解,把类路径下的persion.properties加载进来。并且把persion开头的数
据进行绑定。
@PropertySource(value = {"classpath:persion.properties"})@ConfifigurationProperties(prefifix = "persion")
@ImportResource
@ImportResource:导入Spring的配置文件,让配置文件生效。
示例:
1. com.wrq.boot.service
package com.wrq.boot.service;
/**
* Created by wangqian on 2019/1/12.
*/
public class HelloService {
}
2. resources目录手动建立bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloService" class="com.wrq.boot.service.HelloService">
</bean>
</beans>
3. 测试类
package com.wrq.boot;
@RunWith(SpringRunner.class)
@SpringBootTest
public class BootApplicationTests {
@Autowired
ApplicationContext ioc;@Test
public void testConfig() {
boolean b = ioc.containsBean("helloService");
System.out.print(b);
}
}
试图通过添加一个Spring的配置文件bean.xml来把HelloService注入进去。
运行测试类结果:false
结果表明IoC容器中并不包含HelloService,即:配置文件bean.xml没有生效
解决方式
方式一: 主程序中进行配置@ImportResouece注解
package com.wrq.boot;
@ImportResource(locations = {"classpath:bean.xml"}) // 通过此配置是
bean.xml生效
@SpringBootApplication
public class BootApplication {
public static void main(String[] args) {
//应用启动起来
SpringApplication.run(BootApplication.class, args);
}
}
方法二:通过配置类实现,这种方式也是Spring Boot推荐的
1. com.wrq.boot.confifigpackage com.wrq.boot.config;
/**
* Created by wangqian on 2019/1/12.
*/
@Configuration
public class MyConfig {
// 将方法的返回值添加到容器之中,并且容器中这个组件的id就是方法名
@Bean
public HelloService helloService(){
System.out.print("通过@Bean给容器添加组件了..");
return new HelloService();
}
}
@Confifiguration标注这是一个配置类
通过@Bean注解,将方法的返回值添加到容器之中,并且容器中这个组件的id就是方
法名
2. 把主程序类中@ImportResource()配置注释掉
3. 测试成功,添加了HelloService()组件
3. 配置文件占位符
随机数
RandomValuePropertySource:配置文件中可以使用随机数
${random.value}
${random.int}
${random.long}
${random.uuid}
${random.int(10)}
${random.int[1024,65536]}
属性配置占位符可以在配置文件中引用前面配置过的属性(优先级前面配置过的这里都能用)
${app.name:默认值}来指定找不到属性时的默认值
persion.name = 王弟弟${random.uuid}
persion.age = ${random.int}
persion.dog.name = ${persion.name}_dog
4. Profifile 多环境支持
Profifile是Spring对不同环境提供不同配置功能的支持,可以通过激活、 指定参数等方式
快速切换环境
1. 多Profifile的方式
格式:application-{profifile}.properties/yml
application-dev.properties
application-prod.properties
默认采用application.properties配置文件,如果使用别的,需要激活:
1. application.properties中配置:
# 激活application-dev.properties配置文件
spring.profiles.active=dev
2. application-dev.properties:
server.port=8082
3. 运行BootApplication主程序:
2019-01-12 20:46:09.345 INFO 14404 --- [main]
s.b.c.e.t. : Tomcat started on port(s):
8082 (http)
2. 多文档块的方式
除了上方多Profifile的方式来切换环境,也可以通过YAML多文档块的方式。示例:
application.yml:
server:
port: 8081
spring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 8083
---
spring:
profiles: prod
server:
port: 8084
3. 激活指定Profifile
1. application.properties中配置:
# 激活application-dev.properties配置文件
spring.profiles.active=dev
2. application.yml中配置
server:
port: 8081
spring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 80833. 启动配置-参数
在IDE中,类似于配置tomcat的地方,按下方配置:
Program arguments:--spring.profiles.active=dev
4. 启动配置-虚拟机
在IDE中,类似于配置tomcat的地方,按下方配置:
VM options:-Dspring-profiles-active=dev
5. 命令行 使用Maven的package命令打包,移动到jar的目录。
java -jar spring-boot-project-config.jar --spring.profiles.active=dev
5. 配置文件优先级
GitHub对应项目:boot-confifig-position
优先级
Spring Boot 启动会扫描以下位置的application.properties或者 application.yml文件作
为Spring boot的默认配置文件
fifile:./confifig/ (项目根目录confifig文件夹下的配置文件)
fifile:./ (项目根目下的配置文件)
classpath:/confifig/ (resources目录confifig文件夹下的配置文件)
classpath:/ (resources目下的配置文件)
以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆
盖低优先级配置内容,形成互补配置。
默认配置
我们也可以通过配置spring.confifig.location来改变默认配置。
项目打包后以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新
位置;指定配置文件和默认加载的这些配置文件共同起作用,形成互补配置。
1. Maven->package对项目打包2. 把待使用的配置文件放在本地文件夹中,如:D:/application.properties
3. 命令行执行命令
java -jar boot-config-position-xxxxxx.jar --
spring.config.location=D:/application.properties
这样即使项目上线了,我们也可以通过修改本地的配置文件,使用一行命令即可,极大方
便了运维人员。
6. 外部配置加载顺序
Spring Boot 支持多种外部配置方式
可以从以下位置加载配置,优先级从高到低,高优先级配置覆盖低优先级的,所以配置形
成互补配置。
1. 命令行参数
java -jar boot-config-position-xxxxxx.jar --server.port // 多个配置用空格
隔开
2. 来自java:comp/env的JNDI属性
3. Java系统属性(System.getProperties())
4. 操作系统环境变量
5. RandomValuePropertySource配置的random.*属性值
6. jar包外部的application-{profifile}.properties或application.yml(带spring.profifile)配
置文件
7. jar包内部的application-{profifile}.properties或application.yml(带spring.profifile)配
置文件
8. jar包外部的application.properties或application.yml(不带spring.profifile)配置文件
9. jar包内部的application.properties或application.yml(不带spring.profifile)配置文件
10. @Confifiguration注解类上的@PropertySource
11. 通过SpringApplication.setDefaultProperties指定的默认属性
注意:从jar包外向jar包内寻找,优先加载profifile最后加载不带profifile,更多参考官方文
档
7. 自动配置原理GitHub对应项目:boot-confifig-autoconfifig
1. 配置文件写什么?
配置文件可配置属性查阅
2. 什么是注解,如何实现一个注解?
关于注解的机制和相关原理可以移步此篇博客
3. 配置原理解析
我们运行Spring Boot应用是从main方法启动,在主程序类上有一个
@SpringBootApplication注解。
@SpringBootApplication是一个复合注解,包括@ComponentScan,和
@SpringBootConfifiguration,@EnableAutoConfifiguration。
@SpringBootConfifiguration继承自@Confifiguration,二者功能也一致,标注当前类
是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到
srping容器中,并且实例名就是方法名。
@EnableAutoConfifiguration的作用启动自动的配置,@EnableAutoConfifiguration注
解的意思就是SpringBoot根据你添加的jar包来配置你项目的默认配置,比如根据
spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就
会自动的帮你配置web项目中所需要的默认配置
@ComponentScan,扫描当前包及其子包下被@Component,@Controller,
@Service,@Repository注解标记的类并纳入到spring容器中进行管理。是以前的co
ntext:component-scan(以前使用在xml中使用的标签,用来扫描包配置的平行支
持)。
@SpringBootApplication注解分析
配置原理视频讲解
4. 自动配置类判断
在配置文件properties中设置:debug=true 来让控制台打印自动配置报告,方便的得知
那些配置类生效。
=========================
AUTO-CONFIGURATION REPORT
=========================Positive matches:
-----------------
matched:
- @ConditionalOnClass found required class
'org.springframework.web.servlet.DispatcherServlet';
@ConditionalOnMissingClass did not find unwanted class
(OnClassCondition)
- @ConditionalOnWebApplication (required) found 'session' scope
(OnWebApplicationCondition)
Negative matches:
-----------------
ActiveMQAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes
'javax.jms.ConnectionFactory',
'org.apache.activemq.ActiveMQConnectionFactory' (OnClassCondition)
Ⅳ 系统配置的配置文件
内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。
除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:
访问文件
/etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改。)
/etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。
/etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。
/etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。
引导和登录/注销
/etc/issue & /etc/issue.net 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(issue.net)连接的用户显示一个“welcome”字符串。 它们包括几行声明 Red Hat 版本号、名称和内核ID 的信息。它们由 rc.local 使用。
/etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。
/etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。 例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令:init 5。运行级别 5 表示以图形模式引导系统。
/etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。
/etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。
/etc/rc.d/rc/rcX.d 从 rc 运行的脚本(X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。 当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。
文件系统
内核提供了一个接口,用来显示一些它的数据结构,这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的,称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。例如,/proc/moles 文件列举系统中当前加载的模块。lsmod 命令读取此信息,然后将其以人们可以看懂的格式显示出来。 下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。
/etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。
/etc/fstab 列举计算机当前“可以安装”的文件系统。 这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。
/etc/mtools.conf DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。
系统管理
/etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的:user: * : group-id : project1
/etc/nologin 如果有 /etc/nologin 文件存在,login(1) 将只允许 root 用户进行访问。它将对其它用户显示此文件的内容并拒绝其登录。
etc/passwd 请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow程序加密过)。
/etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。
/etc/securetty 包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。
/etc/usertty
/etc/shadow 包含加密后的用户帐号密码信息,还可以包括密码时效信息。
/etc/shells 包含系统可用的可能的“shell”的列表。
/etc/motd 每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。
初学者在使用电脑过程中,肯定会碰到各种各样的问题:如怎么管理电脑的自启动程序、如何查看加载的系统服务、怎样从安装光盘提取丢失的系统文件等。为了解决类似问题,微软在系统中提供了一个实用工具——系统配置实用程序(Msconfig)。
以系统管理员身份登录系统后,单击“开始→运行”输入“Msconfig”回车后即可启动系统配置实用程序
下面就结合几个应用实例来详细介绍Msconfig的使用(以WinXP为例)。
“一般”选项不一般
默认情况下,Windows采用的是正常启动模式(即加载所有驱动和系统服务),但是有时候由于设备驱动程序遭到破坏或服务故障,常常会导致启动出现一些问题,这时可以利用Msconfig的其它启动模式来解决问题。单击 “一般”选项,在“启动模式”选择“诊断启动”,这种启动模式有助于我们快速找到启动故障原因。此外,还可以选择“有选择的启动模式”,按提示勾选需要启动的项目即可。
小提示:诊断启动是指系统启动时仅加载基本设备驱动程序如显卡驱动,而不加载Modem、网卡等设备,服务也仅是系统必须的一些服务。这时系统是最干净的,如果启动没有问题,可以依次加载设备和服务来判断问题出在哪里。
虽然WinXP具备强大的文件保护功能,不过有时候由于安装/卸载软件或误操作,还是经常会造成系统文件的丢失。一般重要的系统文件,在系统安装光盘CAB文件中都可以找到。单击上图的“展开文件”,然后在弹出窗口中依次输入要还原的文件(填入丢失文件名)、还原自(单击“浏览自”,选择安装光盘的CAB压缩文件)、保存文件到(选择保存文件路径,WinXP/2000一般为c:windowssystem32,Win98则为c:windowssystem),最后单击“展开”,系统会自动解压CAB文件,将系统文件从安装光盘提取到电脑。
可以先用系统的SFC命令来扫描系统文件的改动,找出变化的系统文件,命令格式:SFC [/SCANNOW] [/SCANONCE] [/SCANBOOT] [/REVERT] [/PURGECACHE] [/CACHESIZE=x]
/SCANNOW:立即扫描所有受保护的系统文件。
/SCANONCE:下次启动时扫描所有受保护的系统文件。
/SCANBOOT:每次启动时扫描所有受保护的系统文件。
/REVERT:将扫描返回到默认设置。
/PURGECACHE:清除文件缓存。
/CACHESIZE=x:设置文件缓存大小。
在电脑应用中经常会看到“权限”这个词,特别是Windows 2000/XP被越来越多的朋友装进电脑后,常常会有读者问,什么是权限呢?它到底有什么用?下面我们将用几个典型实例为大家讲解windows中的权限应用,让你不仅可以在不安装任何软件的情况下,限制别人访问你的文件夹、指定用户不能使用的程序,而且还有来自微软内部的加强系统安全的绝招。
初识Windows的权限
首先,要完全使用windows权限的所有功能,请确保在应用权限的分区为NTFS文件系统。本文将以windowsXP简体中文专业版+SP2作为范例讲解。
在以NT内核为基础的Windows 2000/XP中,权限主要分为七大类完全控制、修改,读取和运行、列出文件夹目录、读取、写入、特别的权限。
其中完全控制包含了其他六大权限.只要拥有它,就等同于拥有了另外六大权限,其余复选框会被自动选中.属于“最高等级”的权限。
而其他权限的等级高低分别是:特别的权限>读取和运行>修改>写入>读取。
默认情况下,Windows XP将启用简单文件共享,这意味着安全性选项卡和针对权限的高级选项都不可用.也就不能进行本文所述的那些权限应用操作了。请右击任意文件或文件夹.选择“属性”,如果没有看到“安全”选项卡,你可以通过如下方法打开它。
打开“我的电脑”,点击“工具→文件夹选项→查看”,接着在然后单击取消“使用简单文件共享(推荐)”复选框即可。
实战权限“正面”应用
以下应用的前提,是被限制的用户不在Administrators组,否则将可能发生越权访问,后面反面应用会讲到。执行权限设置的用户至少需要为Power Users组的成员,才有足够权限进行设置。
实例1:我的文档你别看-保护你的文件或文件夹
假设A电脑中有三个用户,用户名分别为User1、User2、User3。Userl不想让User2和User3查看和操作自己的“test”文件夹。
第一步:右击test文件夹并选择属性,进入安全选项卡,你将会看到组或用户名称栏里有Administrators(AAdministrators)、CREATOR OWNER、SYSTEM Users(AUsers)、User1(A User1)。他们分别表示名为A电脑的管理员组,创建、所有者组,系统组,用户组以及用户User1对此文件夹的权限设置。当然,不同的电脑设置和软件安装情况,此栏里的用户或用户组信息不一定就是和我描述的一样.但正常情况下最少将包含3项之一:Administrators、SYSTEM、Users或Everyone。
第二步:依次选中并删除Administrators、CREATOR OWNER、SYSTEM、Users,仅保留自己使用的Userl账户。在操作中可能会遇到的提示框。
其实只要单击高级按钮,在权限选项卡中,取消从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目的复选框,在弹出对话框中单击删除即可。该操作使此文件夹清除了从上一级目录继承来的权限设置,仪保留了你使用的User1账户。
就这么轻松,你就实现了其他用户,甚至系统权限都无法访问test文件夹的目的。
★需要注意的是,如果这个文件夹中需要安装软件,那么就不要删除SYSTEM,不然可能引起系统访问出错
★Administrator并不是最高指挥官:你可能会问,为什么这里会有一个SYSTEM账户呢?同时许多朋友认为windows2000/XP中的Administrator是拥有权限最高的用户,其实不然,这个SYSTEM才具有系统最高权限,因为它是作为操作系统的一部分工作,任何用户通过某种方法获取了此权限,就能凌驾一切。
实例2:上班时间别聊天-禁止用户使用某程序
第一步:找到聊天程序的主程序,如QQ,其主程序就是安装目录下的QQ.exe,打开它的属性对话框,进入安全选项卡,选中或添加你要限制的用户,如User3。
第二步:接着选择完全控制为拒绝,读取和运行也为拒绝。
第三步:单击高级按钮进入高级权限没置,选中User3,点编辑按钮,进入权限项目。在这里的拒绝栏中选中更改权限和取得所有权的复选框。
也可以使用组策略编辑器来实现此功能,但安全性没有上面方法高。点击开始→运行,输入gpedit.msc,回车后打开组策略编辑器,进入计算机设置→windows设置→安全设置→软件限制策略→其他规则,右击,选择所有任务→新路径规则,接着根据提示设置想要限制的软件的主程序路径,然后设定想要的安全级别,是不允许的还是受限制的。
实例3:来者是客--微软内部增强系统安全的秘技
本实战内容将需要管理员权限。所谓入侵,无非就是利用某种方法获取到管理员级别的权限或系统级的权限,以便进行下一步操作,如添加自己的用户。如果想要使入侵者进来之后不能进行任何操作呢?永远只能是客人权限或比这个权限更低,就算本地登录,连关机都不可以。那么,他将不能实施任何破坏活动。
注意:此法有较高的危险性.建议完全不知道以下程序用途的读者不要尝试.以免误操作引起系统不能进入或出现很多错误。
第一步:确定要设置的程序
搜索系统目录下的危险程序,它们可以用来创建用户夺取及提升低权限用户的权限,格式化硬盘,引起电脑崩溃等恶意操作:cmd.exe、regedit.exe、regsvr32.exe、regedt32.exe、gpedit.msc、format.com、compmgmt.msc、mmc.exe、telnet.exe、tftp.exe、ftp.exe、XCOPY.EXE、at.exe、cacls.exe、edlin.exe、rsh.exe、finger.exe、runas.exe、net.exe、tracert.exe、netsh.exe、tskill.exe、poledit.exe、regini.exe、cscript.exe、netstat.exe、issync.exe、runonce.exe、debug.exe、rexec.exe、wscript.exe、command.com、comspd.exe
第二步:按系统调用的可能性分组设置
按照下面分组.设置这些程序权限。完成一组后,建议重启电脑确认系统运行是否一切正常,查看事件查看器,是否有错误信息(控制面板→管理工具→事件查看器)。
(1)cmd.exe、net.exe gpedit.msc telnet.exe command.com
(仅保留你自己的用户,SYSTEM也删除)
(2)mmc.exe、tftp.exe、ftp.exe、XCOPY.EXE、comspd.exe
(仅保留你自己的用户,SYSTEM也删除)
(3)regedit.exe、regedt32.exe、format.com、compmgmt.msc、at.exe、cacls.exe、edlin.exe、rsh.exe、finger.exe、runas.exe、debug.exe、wscript.exe、cscript.exe、rexec.exe
(保留你自己的用户和SYSTEM)
(4)tracert.exe、netsh.exe、tskill.exe、poledit.exe、regini.exe、netstat.exe、issync.exe、runonce.exe、regsvr32.exe
(保留你自己的用户和SYSTEM)
第三步:用户名欺骗
这个方法骗不了经验丰富的入侵者,但却可以让不够高明的伪黑客们弄个一头雾水。
打开控制面板一管理工具一计算机管理,找到用户,将默认的Administrator和Guest的名称互换,包括描述信息也换掉。完成后,双击假的Administrator用户,也就是以前的Guest用户.在其属性窗口中把隶属于列表里的Guests组删除.这样.这个假的管理员账号就成了无党派人士,不属于任何组,也就不会继承其权限。此用户的权限几乎等于0,连关机都不可以,对电脑的操作几乎都会被拒绝。如果有谁处心积虑地获取了这个用户的权限,那么他肯定吐血。
第四步:集权控制,提高安全性
打开了组策略编辑器,找到计算机设置→windows设置→安全设置→本地策略→用户权利指派,接着根据下面的提示进行设置。
(1)减少可访问此计算机的用户数,减少被攻击机会
找到并双击从网络访问此计算机,删除账户列表中用户组,只剩下Administrators;
找到并双击拒绝本地登录,删除列表中的Guest用户,添加用户组Guests。
(2)确定不想要从网络访问的用户,加入到此黑名单内
找到并双击拒绝从刚络访问这台计算机,删除账户列表中的Guest用户,添加用户组Guests;
找到并双击取得文件或其他对象的所有权,添加你常用的账户和以上修改过名称为Guest的管理员账户,再删除列表中Administrators。
(3)防止跨文件夹操作
找到并双击跳过遍历检查,添加你所使用的账户和以上修改过名称为Guest的管理员账户,再删除账户列表中的Administrators、Everyone和Users用户组。
(4)防止通过终端服务进行的密码猜解尝试
找到并双击通过终端服务拒绝登录,添加假的管理员账户Administrator;找到通过终端服务允许登录,双击,添加你常用的账户和以上修改过名称为Guest的管理员账户,再删除账户列表中的Administrators,Remote Desktop User和HelpAssistant(如果你不用远程协助功能的话才可删除此用户)。
(5)避免拒绝服务攻击
找到并双击调整进程的内存配额,添加你常用的账户,再删除账户列表中的Administrators
实例4:你的文档别独享——突破文件夹私有的限制
windows XP安装完成并进入系统时,会询问是否将我的文档设为私有(专用),如果选择了是,那将使该用户下的我的文档文件夹不能被其他用户访问,删除,修改。其实这就是利用权限设置将此文件夹的访问控制列表中的用户和用户组删除到了只剩下系统和你的用户,所有者也设置成了那个用户所有,Administrators组的用户也不能直接访问。如果你把这个文件夹曾经设置为专用,但又在该盘重装了系统,此文件夹不能被删除或修改。可按照下面步骤解决这些问题,让你对这个文件夹的访问,畅通无阻。
第一步:登录管理员权限的账户,如系统默认的Administrator,找到被设为专用的我的文档,进入其属性的安全选项卡,你将会看到你的用户不在里面,但也无法添加和删除。
第二步:单击高级按钮,进入高级权限设置,选择所有者选项卡,在将所有者更改为下面的列表中选中你现在使用的用户,如Userl(AUserl),然后再选中替换子容器及对象的所有者的复选框,然后单击应用,等待操作完成。
第三步:再进入这个文件夹看看,是不是不会有任何权限的提示了?可以自由访问了?查看里面的文件,复制、删除试试看.是不是一切都和自己的一样了?嘿嘿。如果你想要删除整个文件夹,也不会有什么阻止你了。
ServerWinStationsRDP-Tcp 改3389 的
Ⅳ linux系统中以下哪个目录是存放系统配置文件
【答案】B 【答案解析】各目录介绍如下:●/bin/usr/bin:可执行二进制文件的目录,如常用的命令Is、tar、mv、cat等。●/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab/etc/fstab、/etc/init.d、/etc/XI1、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。●/dev:存放Linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。●/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。