452 Chapter 9 ■ Writing Scripts, Configuring Email, and Using Database dịch - 452 Chapter 9 ■ Writing Scripts, Configuring Email, and Using Database Việt làm thế nào để nói

452 Chapter 9 ■ Writing Scripts, Co

452 Chapter 9 ■ Writing Scripts, Configuring Email, and Using Databases
The namethat leads the line is a local name, such as postmaster. Each address (addr1,
addr2, and so on) can be the name of a local account to which the messages are forwarded,
the name of a local file in which messages are stored (denoted by a leading slash), a command through which messages are piped (denoted by a leading vertical bar character), the
name of a file whose contents are treated as a series of addresses (denoted by a leading
:include:string), or a full email address (such as fred@example.com).
A typical default configuration includes a few useful aliases for accounts such as
postmaster. Most such configurations map most of these aliases to root. Reading mail as
rootis inadvisable, though—doing so increases the odds of a security breach or other problem because of a typo or bug in the mail reader. Thus, you may want to set up an alias line
like the following:
root: yourusername
This redirects all of root’s mail, including mail directed to rootvia another alias, to
yourusername, which can take any of the forms just described (it’s most likely to be a local
username or a valid remote email address). Some mail servers, including sendmail, Postfix,
and qmail, require you to compile /etc/aliasesinto a binary file that can be processed
more quickly. To do so, use the newaliasescommand:
# newaliases
Exim has a newaliasescommand for compatibility with sendmail, but it
doesn’t do anything by default.
Another approach to redirecting mail is to do so on the user level. In particular, you
can edit the ~/.forwardfile in a user’s home directory to have mail for that user sent to
another address. Specifically, the ~/.forwardfile should contain the new address—either
a username on the current computer or an entire email address on another computer. This
approach has the advantage that it can be employed by individual users—say, to consolidate email from multiple systems into one account without bothering system administrators. A drawback is that it can’t be used to set up aliases for nonexistent accounts or for
accounts that lack home directories. The ~/.forwardfile can also be changed or deleted by
the account owner, which might not be desirable if you want to enforce a forwarding rule
that the user shouldn’t be able to override.
Securing Your Email Server
Like any server, an email server is a potential security risk. Broadly speaking, this risk
takes two forms:
Bugs Bugs in the email server can expose your computer to danger. In theory, a bug might
enable somebody to gain access to your system by sending an email or by connecting to
the SMTP port (25) via a Telnet client and typing SMTP commands to trigger the bug. For
Managing Data with SQL 453
this reason, many Linux distributions today limit access to the email server to the local
computer only.
Misconfiguration Poor configuration of an email server can cause problems. Email servers
aren’t designed to provide login access, so they aren’t likely to be abusable to gain full
login access. Instead, the big risk is a configuration that will make your system a menace
to the Internet. The most common misconfiguration of this nature is an open relay, which
is a computer that will relay mail from any computer to any other computer. In the past,
spammers made heavy use of open relays as a way to help hide their true identities, but
spammers today have largely moved on to other techniques. Nonetheless, some spammers
still abuse open relays.
To guard against bugs, you should ensure that your email server is upgraded to the latest
version. Chapter 2 describes software management, so you should consult it for advice on
keeping your system software up to date.
Major Linux distributions configure their email servers so that they aren’t open relays;
however, a misconfiguration can open your email server. Various Web sites provide tests for
such misconfigurations. Check http://www.abuse.net/relay.htmlor http://www.spam
help.org/shopenrelay/to test your system to verify that it’s not an open relay. These sites,
and others like them, run a series of tests, attempting to relay em a il through your server. If
your server is properly configured, the page will report that it was unable to connect or that
it was unable to relay email. If the testing site was able to relay email, though, you’ll need to
learn more to properly configure your server. Unfortunately, the steps needed to secure an
open relay vary from one email server to another, and they require relatively advanced configuration, which is beyond the scope of this book or the exam. You can learn about closing
open relay configurations in your email server’s documentation.
Managing Data with SQL
The Structured Query Language (SQL), as its expanded name suggests, is a language used
for retrieving data from a database. In practice, SQL is implemented in several different
database products. Thus, you should know a little about the SQL products that are available for Linux. With a SQL package installed, you can begin learning about the principles
of SQL use and move on to actual data storage and retrieval.
Picking a SQL Package
SQL is a language for accessing data, and specific SQL packages implement that language.
This distinction is similar to that between a network protocol (such as SMTP) and the servers that implement it (such as sendmail, Postfi x, and Exim). In principle, you can use any
SQL package to satisfy your SQL database needs. In practice, specific products that store
data using SQL may work better with (or even require) particular packages. Some common
choices in Linux include the following:
454 Chapter 9 ■ Writing Scripts, Configuring Email, and Using Databases
MySQL Oracle owns this SQL implementation, which has been released under the GPL.
Most major Linux distributions include MySQL in their package databases. For a complete
installation, you’ll probably need to install multiple packages, such as a client, a server, and
perhaps development tools. You can learn more at http://www.mysql.com
PostgreSQL This SQL implementation evolved from the earlier Ingres software (the name
PostgreSQLis a compressed form of post-Ingres SQL). It’s available under the BSD license
and is available as multiple packages in most Linux distributions. As with MySQL, you’ll
most likely have to install a client, a server, and perhaps additional support packages.
PostgreSQL is headquartered at http://www.postgresql.org.
SQLite This package, based at http://www.sqlite.org, is a library that implements SQL.
As such, it’s not a stand-alone database; instead, it’s intended as a way to provide programs
with a way to store data using a SQL interface within the program. If you install a program
that uses SQLite, your distribution’s package manager should install the relevant libraries
for you. If you want to write a program that requires database access and you don’t want
to install a complete client-server SQL package such as MySQL or PostgreSQL, SQLite may
be just what you need.
There are dozens more SQL database products for Linux. For the purpose of learning
SQL, MySQL or PostgreSQL should do fine, or you can use another full implementation
if you prefer. If you have a specific purpose in mind for using SQL, though, you should
research SQL packages in more detail. You may need a particular product for compatibility
with other software, or you may need a SQL package that provides specific features.
As just noted, some SQL packages, including MySQL and PostgreSQL, operate on a
client-server model: One program (the server) manages the database, while another (the
client) provides users and programs with access to the database. Such implementations can
work over a network, enabling users at multiple client systems to access a centralized database server.
Understanding SQL Basics
SQL is a tool for accessing databases, and more specifically, relational databases. Figure 9.2
illustrates data in a relational database. Each row (sometimes known as a tuple) represents
a single object or other item, and each column (sometimes referred to as an attribute or
field) represents a specific feature. The combination of rows and columns is referred to as
a table. Each database may contain multiple tables, and SQL supports multiple databases.
Thus, to access data, you must first select a database and a table, as described in more
detail shortly.
Managing Data with SQL 455
The data in a table are unordered, at least conceptually. (In practice, of course, data will
be stored in some order on disk, but this order is arbitrary.) You can impose an order on
query results, as described shortly; for instance, you may retrieve data from the database
represented by Figure 9.2 and order the results according to cost (the final column).
A database enables retrieval of information that matches specific criteria. You can search
for all the green objects in Figure 9.2, for instance. You can also insert, delete, and update
information in a table. SQL supports multiple tables, so you can have, for instance, different tables for property in your office and for employees who work in your office.
Columns (attributes) in a database hold specific types of data, and swapping them
around makes little sense. For instance, it’s clear that the second column in Figure 9.2 is
a color, whereas the final column is a price or value, expressed in dollars. It would make
little sense to enter green as a price or $1.00 as a color. The restrictions placed on what
may appear in a column are known as a domainor a data type: The domain for the second
column is a set of color names, whereas the domain for the fi nal column is a numeric value
expressed in dollars. Table 9.3 summarizes some common SQL data types.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
452 chương 9 ■ viết kịch bản, cấu hình Email, và bằng cách sử dụng cơ sở dữ liệuNamethat dẫn đường là một tên địa phương, chẳng hạn như quản lý bưu điện. Mỗi địa chỉ (addr1, addr2, và vv.) có thể là tên của một tài khoản địa phương mà các thư được chuyển tiếp, tên của một tập tin địa phương mà thư được lưu trữ (biểu hiện bằng một dấu gạch chéo hàng đầu), một lệnh thông qua tin nhắn đó đường ống (biểu hiện bằng một đầu dọc bar nhân vật), các tên của tập tin nội dung mà được coi là một loạt các địa chỉ (biểu hiện bằng một hàng đầu : bao gồm: chuỗi), hoặc một địa chỉ email đầy đủ (ví dụ như fred@example.com).Một cấu hình mặc định tiêu biểu bao gồm một vài hữu ích bí danh cho tài khoản như bưu điện. Đặt như vậy cấu hình bản đồ các hầu hết các bí danh để gốc. Đọc thư rootis khắt, mặc dù-làm như vậy làm tăng tỷ lệ cược của một sự vi phạm bảo mật hoặc các vấn đề vì một lỗi đánh máy hoặc lỗi trong trình đọc thư. Vì vậy, bạn có thể muốn thiết lập một đường dây bí danh như sau:gốc: yourusernameĐiều này chuyển hướng tất cả gốc của thư, bao gồm cả thư dẫn đến rootvia một bí danh, đến yourusername, mà có thể mất bất kỳ hình thức chỉ mô tả (nó rất có thể là một địa phương tên người dùng hoặc địa chỉ email hợp lệ từ xa). Một số máy chủ thư, bao gồm cả sendmail, Postfix, và qmail, yêu cầu bạn để biên dịch /etc/aliasesinto một tập tin nhị phân có thể được xử lý nhanh hơn. Để làm như vậy, hãy sử dụng newaliasescommand:# newaliasesExim có một newaliasescommand để tương thích với sendmail, nhưng nó không làm bất cứ điều gì theo mặc định.Một cách tiếp cận để chuyển hướng thư là như vậy trên cấp độ người dùng. Đặc biệt, bạn có thể chỉnh sửa ~/.forwardfile trong thư mục chính của người dùng có thư cho người dùng đó được gửi đến địa chỉ khác. Cụ thể, ~/.forwardfile nên chứa địa chỉ mới-một trong hai một tên người dùng trên máy tính hiện tại hoặc địa chỉ email toàn bộ trên máy tính khác. Điều này cách tiếp cận có lợi thế mà nó có thể sử dụng bởi người dùng cá nhân — nói, để củng cố thư điện tử từ nhiều hệ thống vào một tài khoản mà không làm phiền người quản trị hệ thống. Một nhược điểm là nó không thể được sử dụng để thiết lập bí danh cho tài khoản này không tồn tại hoặc cho tài khoản thiếu thư mục chính. ~/.Forwardfile cũng có thể được thay đổi hoặc xóa bỏ bởi chủ sở hữu tài khoản, có thể không được mong muốn, nếu bạn muốn thực thi một quy tắc chuyển tiếp rằng người dùng không nên có thể ghi đè lên.Bảo vệ máy chủ Email của bạnGiống như bất kỳ máy chủ, máy chủ thư điện tử là một nguy cơ bảo mật tiềm năng. Nói chung, nguy cơ này có hai hình thức:Lỗi lỗi trong hệ phục vụ thư điện tử có thể tiếp xúc với máy tính của bạn để gặp nguy hiểm. Trong lý thuyết, một lỗi có thể sử ai đó để truy cập vào hệ thống của bạn bằng cách gửi một email hoặc bằng cách kết nối đến SMTP cổng (25) thông qua một khách hàng Telnet và gõ SMTP lệnh để kích hoạt các lỗi. Cho Quản lý dữ liệu với SQL 453lý do này, nhiều bản phân phối Linux vào ngày hôm qua giới hạn truy cập vào máy chủ thư điện tử để các địa phương máy tính.Lỗi cấu nghèo cấu hình của một máy chủ thư điện tử có thể gây ra vấn đề. Máy chủ thư điện tử không được thiết kế để cung cấp truy cập đăng nhập, do đó họ không có khả năng được abusable để đạt được đầy đủ truy cập đăng nhập. Thay vào đó, nguy cơ lớn là một cấu hình mà sẽ làm cho hệ thống của bạn một mối đe dọa Internet. Lỗi cấu phổ biến nhất của thiên nhiên này là một mở tiếp sức, mà là một máy tính sẽ chuyển tiếp thư từ bất kỳ máy tính đến bất kỳ máy tính nào khác. Trong quá khứ, kẻ gửi thư rác được thực hiện nặng sử dụng chuyển tiếp mở như một cách để giúp giấu danh tính thực sự của họ, nhưng kẻ gửi thư rác vào ngày hôm nay đã chủ yếu là di chuyển trên để các kỹ thuật khác. Tuy nhiên, một số kẻ gửi thư rác vẫn còn lạm dụng chuyển tiếp mở.Để bảo vệ chống lại lỗi, bạn nên đảm bảo rằng máy chủ email của bạn được nâng cấp lên mới nhất Phiên bản. Chương 2 mô tả phần mềm quản lý, do đó, bạn nên tham khảo nó để tư vấn về Giữ Cập nhật phần mềm hệ thống của bạn.Bản phân phối Linux chính cấu hình máy chủ email của họ để họ không phải là chuyển tiếp mở; Tuy nhiên, một lỗi cấu có thể mở máy chủ email của bạn. Trang Web khác nhau cung cấp thử nghiệm như vậy misconfigurations. Kiểm tra http://www.abuse.net/relay.htmlor http://www.spamHelp.org/shopenrelay/to kiểm tra hệ thống của bạn để xác minh rằng nó không phải là chuyển tiếp mở. Các trang web này, và những người khác như họ, chạy một loạt các thử nghiệm, cố gắng để tiếp sức em một il thông qua máy chủ của bạn. Nếu máy chủ của bạn được cấu hình đúng, trang sẽ báo cáo rằng nó đã không thể kết nối hoặc nó đã không thể chuyển tiếp email. Nếu các trang web thử nghiệm đã có thể chuyển tiếp email, Tuy nhiên, bạn sẽ cần phải Tìm hiểu thêm đúng cách cấu hình máy chủ của bạn. Thật không may, các bước cần thiết để bảo đảm một mở chuyển tiếp khác nhau từ một email máy chủ khác, và họ yêu cầu cấu hình tương đối cao cấp, mà là vượt ra ngoài phạm vi của cuốn sách này hoặc các kỳ thi. Bạn có thể tìm hiểu về đóng cửa chuyển tiếp mở các cấu hình trong tài liệu của máy chủ email của bạn.Quản lý dữ liệu với SQLCác truy vấn có cấu trúc ngôn ngữ (SQL), như tên mở rộng của nó, là một ngôn ngữ được sử dụng để lấy dữ liệu từ cơ sở dữ liệu. Trong thực tế, SQL được thực hiện trong một số khác nhau sản phẩm cơ sở dữ liệu. Vì vậy, bạn nên biết một chút về các sản phẩm SQL mà có sẵn cho Linux. Với một gói SQL cài đặt, bạn có thể bắt đầu tìm hiểu về các nguyên tắc SQL sử dụng và chuyển sang lưu trữ dữ liệu thực tế và truy.Chọn một gói SQLSQL là một ngôn ngữ để truy cập dữ liệu, và thực hiện cụ thể SQL gói ngôn ngữ đó. Phân biệt này là tương tự như giữa một giao thức mạng (chẳng hạn như SMTP) và máy chủ thực hiện (chẳng hạn như sendmail, Postfi x và Exim). Về nguyên tắc, bạn có thể sử dụng bất kỳ SQL gói để đáp ứng nhu cầu của bạn cơ sở dữ liệu SQL. Trong thực tế, sản phẩm cụ thể lưu trữ dữ liệu bằng cách sử dụng SQL có thể làm việc tốt hơn với (hoặc thậm chí yêu cầu) gói đặc biệt. Một số phổ biến sự lựa chọn trong Linux bao gồm:454 chương 9 ■ viết kịch bản, cấu hình Email, và bằng cách sử dụng cơ sở dữ liệuMySQL Oracle sở hữu này thực hiện SQL, mà đã được phát hành dưới giấy phép GPL. Hầu hết các bản phân phối Linux chính bao gồm MySQL trong cơ sở dữ liệu gói của họ. Cho một hoàn thành cài đặt, bạn sẽ cần phải cài đặt nhiều gói, chẳng hạn như một khách hàng, một máy chủ, và có lẽ công cụ phát triển. Bạn có thể tìm hiểu thêm tại http://www.mysql.comPostgreSQL SQL này thực hiện đã tiến hóa từ phần mềm Ingres trước đó (tên PostgreSQLis một dạng nén của Post-Ingres SQL). Nó được phát hành theo giấy phép BSD và có nhiều gói trong hầu hết các bản phân phối Linux. Như với MySQL, bạn sẽ rất có thể cần phải cài đặt một khách hàng, máy chủ, và có lẽ bổ sung hỗ trợ gói. PostgreSQL có trụ sở tại http://www.postgresql.org.SQLite gói này, đặt căn cứ tại http://www.sqlite.org, là một thư viện thực hiện SQL. Như vậy, nó không phải là một cơ sở dữ liệu độc lập; thay vào đó, nó được thiết kế như một cách để cung cấp chương trình một cách để lưu trữ dữ liệu bằng cách sử dụng một giao diện SQL trong chương trình. Nếu bạn cài đặt một chương trình có sử dụng SQLite, trình quản lí gói của bản phân phối nên cài đặt các thư viện có liên quan Tặng em. Nếu bạn muốn viết một chương trình mà đòi hỏi phải truy cập cơ sở dữ liệu và bạn không muốn để cài đặt một gói SQL Hệ phục vụ khách hàng hoàn toàn chẳng hạn như MySQL hoặc PostgreSQL, SQLite có thể là chỉ là những gì bạn cần.Hiện có hàng chục các sản phẩm cơ sở dữ liệu SQL cho Linux. Với mục đích học tập SQL, MySQL hoặc PostgreSQL nên làm tốt, hoặc bạn có thể sử dụng một thực hiện đầy đủ Nếu bạn thích. Nếu bạn có một mục đích cụ thể trong tâm trí để sử dụng SQL, mặc dù, bạn nên nghiên cứu SQL gói chi tiết hơn. Bạn có thể cần một sản phẩm cụ thể cho khả năng tương thích với phần mềm khác, hoặc bạn có thể cần một gói SQL cung cấp tính năng cụ thể.Là chỉ cần lưu ý, một số gói SQL, bao gồm MySQL và PostgreSQL, hoạt động trên một khách hàng-máy chủ Mô hình: một chương trình (server) quản lý cơ sở dữ liệu, trong khi khác (các khách hàng) cung cấp cho người dùng và chương trình với quyền truy cập vào cơ sở dữ liệu. Như vậy có thể triển khai làm việc trên một mạng, cho phép người dùng nhiều khách hàng hệ thống để truy cập vào một máy chủ cơ sở dữ liệu tập trung.Hiểu biết về khái niệm cơ bản SQLSQL là một công cụ cho truy cập vào cơ sở dữ liệu, và cụ thể hơn, quan hệ cơ sở dữ liệu. Con số 9.2 minh họa các dữ liệu trong cơ sở dữ liệu quan hệ. Mỗi hàng (đôi khi được gọi là một tuple) đại diện cho một đối tượng duy nhất hoặc mục khác, và mỗi cột (đôi khi được gọi là một thuộc tính hoặc lĩnh vực) đại diện cho một tính năng cụ thể. Sự kết hợp của các hàng và cột được gọi là một bảng. Mỗi cơ sở dữ liệu có thể chứa nhiều bảng, và SQL hỗ trợ nhiều cơ sở dữ liệu. Vì vậy, để truy cập dữ liệu, bạn phải đầu tiên chọn một cơ sở dữ liệu và một bảng, như được mô tả trong nhiều hơn nữa chi tiết một thời gian ngắn.Quản lý dữ liệu với SQL 455Các dữ liệu trong bảng là có thứ tự, ít khái niệm. (Trong thực tế, tất nhiên, dữ liệu sẽ được lưu trữ trong một số đơn đặt hàng trên đĩa, nhưng thứ tự này là tùy ý.) Bạn có thể áp đặt một đơn đặt hàng ngày kết quả truy vấn, như được mô tả một thời gian ngắn; Ví dụ, bạn có thể lấy dữ liệu từ cơ sở dữ liệu đại diện bởi hình 9.2 và để kết quả theo chi phí (cột cuối cùng).Cơ sở dữ liệu cho phép tra cứu thông tin phù hợp với tiêu chí cụ thể. Bạn có thể tìm kiếm cho tất cả các đối tượng màu xanh lá cây trong con số 9.2, ví dụ. Bạn cũng có thể chèn, xoá, và Cập Nhật thông tin trong một bảng. SQL hỗ trợ nhiều bảng, để bạn có thể có, ví dụ, các bảng khác nhau cho các tài sản trong văn phòng của bạn và cho nhân viên làm việc trong văn phòng của bạn.Cột (thuộc tính) trong một cơ sở dữ liệu lưu trữ cụ thể loại dữ liệu, và cách thay đổi chúng xung quanh làm cho cảm giác ít. Ví dụ, nó là rõ ràng rằng các cột thứ hai trong con số 9.2 là một màu, trong khi các cột cuối cùng là một giá hoặc giá trị, thể hiện trong đô la. Nó sẽ làm cho chút cảm giác vào màu xanh lá cây như một giá hoặc $1,00 là một màu sắc. Các hạn chế được đặt trên những gì có thể xuất hiện trong một cột được gọi là một domainor một loại dữ liệu: tên miền cho phần thứ hai cột là một tập hợp các tên màu sắc, trong khi tên miền của fi nal cột là một giá trị số bày tỏ bằng đô la. Bảng 9.3 tóm tắt một số loại dữ liệu SQL phổ biến.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
452 Chương 9 ■ Scripts Viết, Cấu hình Email, và sử dụng cơ sở dữ liệu
Các namethat dẫn dòng là một tên địa phương, chẳng hạn như bưu điện. Mỗi địa chỉ (addr1,
addr2, vv) có thể là tên của một tài khoản địa phương mà các thông điệp được chuyển tiếp,
tên của một tập tin địa phương, trong đó thông điệp được lưu trữ (biểu thị bằng một dấu gạch chéo hàng đầu), một lệnh thông qua các tin nhắn được cấp nước tập trung (ký hiệu là một nhân vật thanh đứng hàng đầu), các
tên của một tập tin có nội dung đang được coi là một loạt các địa chỉ (biểu thị bằng một hàng
đầu: bao gồm: string), hoặc một địa chỉ email đầy đủ (như fred@example.com ).
Một cấu hình mặc định điển hình bao gồm một vài bí danh hữu ích cho các tài khoản như
bưu điện. Hầu hết các cấu hình như vậy bản đồ hầu hết các bí danh này để root. Đọc mail như
rootis không lưu ý, mặc dù, làm như vậy làm tăng tỷ lệ cược của một vi phạm an ninh hoặc các vấn đề khác vì một lỗi đánh máy hay lỗi trong trình đọc thư. Như vậy, bạn có thể muốn thiết lập một đường dây bí danh
như sau:
root: tên_ người_ dùng_ của_
này chuyển hướng tất cả các thư mục gốc của, bao gồm cả thư dẫn đến rootvia bí danh khác, để
tên_ người_ dùng_ của_, mà có thể thực hiện bất kỳ hình thức vừa mô tả (nó có khả năng nhất để là một địa phương
tên đăng nhập hoặc địa chỉ email hợp lệ từ xa). Một số máy chủ mail, bao gồm sendmail, Postfix,
và qmail, yêu cầu bạn phải biên dịch / etc / aliasesinto một tập tin nhị phân có thể được xử lý
một cách nhanh chóng hơn. Để làm như vậy, sử dụng các newaliasescommand:
# newaliases
Exim có một newaliasescommand cho khả năng tương thích với sendmail, nhưng nó
không làm bất cứ điều gì theo mặc định.
Một cách khác để chuyển hướng mail là để làm như vậy vào mức độ sử dụng. Đặc biệt, bạn
có thể chỉnh sửa ~ / .forwardfile trong thư mục chủ của người dùng để có mail cho người dùng đó được gửi đến
một địa chỉ khác. Cụ thể, ~ / .forwardfile nên chứa các địa chỉ-dù là mới
một tên đăng nhập trên máy tính hiện tại hoặc một địa chỉ email toàn bộ trên một máy tính khác. Điều này
tiếp cận có lợi thế mà nó có thể được sử dụng bởi các cá nhân người sử dụng có nói, để củng cố email từ nhiều hệ thống vào một tài khoản mà không làm phiền người quản trị hệ thống. Một nhược điểm là nó không thể được sử dụng để thiết lập bí danh cho các tài khoản không tồn tại hoặc cho
các tài khoản mà thiếu các thư mục nhà. The ~ / .forwardfile cũng có thể được thay đổi hoặc bị xóa bởi
người chủ tài khoản, mà có thể không được mong muốn nếu bạn muốn thực thi một quy tắc chuyển tiếp
mà người sử dụng không nên có thể ghi đè lên.
Bảo vệ Email Server của bạn
Giống như bất kỳ máy chủ, một email Máy chủ là một nguy cơ bảo mật tiềm năng. Nói chung, nguy cơ này
có hai hình thức:
Bugs Bugs trong máy chủ email có thể phơi bày máy tính của bạn gặp nguy hiểm. Về lý thuyết, một lỗi có thể
cho phép ai đó để đạt được quyền truy cập vào hệ thống của bạn bằng cách gửi email hoặc bằng cách kết nối với
các cổng SMTP (25) thông qua một khách hàng Telnet và gõ lệnh SMTP để kích hoạt các lỗi. Đối với
quản lý dữ liệu với SQL 453
lý do này, nhiều bản phân phối Linux hiện nay giới hạn quyền truy cập vào các máy chủ email để các địa phương
máy tính duy nhất.
Sai cấu hình nghèo của một máy chủ email có thể gây ra vấn đề. Các máy chủ email
không được thiết kế để cung cấp truy cập đăng nhập, vì vậy họ không có khả năng được abusable để đạt được đầy đủ
quyền truy cập đăng nhập. Thay vào đó, nguy cơ lớn là một cấu hình mà sẽ làm cho hệ thống của bạn một mối đe dọa
Internet. Các sai phổ biến nhất của thiên nhiên này là một relay mở, đó
là một máy tính sẽ chuyển tiếp mail từ bất kỳ máy tính với bất kỳ máy tính khác. Trong quá khứ,
kẻ gửi thư rác đã sử dụng nhiều rơle mở như là một cách để giúp che giấu danh tính thực sự của họ, nhưng
kẻ gửi thư rác hiện nay phần lớn đã chuyển sang các kỹ thuật khác. Tuy nhiên, một số người gửi thư rác
vẫn lạm dụng rơle mở.
Để bảo vệ chống lại các lỗi, bạn nên đảm bảo rằng máy chủ email của bạn được nâng cấp mới nhất của
phiên bản. Chương 2 mô tả các phần mềm quản lý, vì vậy bạn nên tham khảo ý kiến đó cho lời khuyên về
giữ phần mềm hệ thống của bạn đến nay.
Phân phối chính Linux cấu hình máy chủ email của họ để họ không phải là chuyển tiếp mở;
tuy nhiên, một sai có thể mở máy chủ email của bạn. Trang web khác nhau cung cấp các bài kiểm tra cho
các cấu hình sai như vậy. Kiểm tra http://www.abuse.net/relay.htmlor http: //www.spam
help.org/shopenrelay/to kiểm tra hệ thống của bạn để xác minh rằng nó không phải là một relay mở. Những trang web này,
và những người khác như họ, chạy một loạt các xét nghiệm, cố gắng để tiếp sức em một il qua máy chủ của bạn. Nếu
máy chủ của bạn được cấu hình đúng cách, trang web sẽ báo cáo rằng nó không thể kết nối hoặc rằng
nó đã không thể chuyển tiếp email. Nếu các trang web thử nghiệm đã có thể chuyển tiếp email, tuy nhiên, bạn sẽ cần phải
tìm hiểu thêm để cấu hình đúng máy chủ của bạn. Thật không may, các bước cần thiết để đảm bảo một
relay mở khác nhau từ một máy chủ email khác, và họ yêu cầu cấu hình tương đối cao, đó là vượt ra ngoài phạm vi của cuốn sách này hoặc các kỳ thi. Bạn có thể tìm hiểu về đóng
cấu hình relay mở trong tài liệu máy chủ email của bạn.
Quản lý dữ liệu với SQL
Các Structured Query Language (SQL), như tên mở rộng của nó cho thấy, là một ngôn ngữ được sử dụng
để lấy dữ liệu từ một cơ sở dữ liệu. Trong thực tế, SQL được thực hiện trong một vài khác nhau
sản phẩm cơ sở dữ liệu. Vì vậy, bạn nên biết một chút về sản phẩm SQL mà có sẵn cho Linux. Với một gói SQL cài đặt, bạn có thể bắt đầu tìm hiểu về các nguyên tắc
sử dụng SQL và chuyển sang lưu trữ dữ liệu thực tế và phục hồi.
Chọn một gói SQL
SQL là một ngôn ngữ cho việc truy cập dữ liệu, và các gói SQL cụ thể thực hiện ngôn ngữ đó.
Sự phân biệt này là tương tự như giữa một giao thức mạng (như SMTP) và các máy chủ mà thực hiện nó (như sendmail, Postfi x, và Exim). Về nguyên tắc, bạn có thể sử dụng bất kỳ
gói SQL để đáp ứng nhu cầu của cơ sở dữ liệu SQL của bạn. Trong thực tế, các sản phẩm cụ thể mà lưu trữ
dữ liệu bằng cách sử dụng SQL có thể làm việc tốt hơn với (hoặc thậm chí yêu cầu) gói cụ thể. Một số thông thường
lựa chọn trong Linux bao gồm:
454 Chương 9 ■ Scripts Viết, Cấu hình Email, và sử dụng cơ sở dữ
liệu. MySQL Oracle sở hữu này thực hiện SQL, mà đã được phát hành theo giấy phép GPL
Hầu hết các bản phân phối Linux chính bao gồm cơ sở dữ liệu MySQL trong gói của họ. Đối với một hoàn thành
cài đặt, có thể bạn sẽ cần phải cài đặt nhiều phần mềm, chẳng hạn như một khách hàng, một máy chủ, và
có lẽ các công cụ phát triển. Bạn có thể tìm hiểu thêm tại http://www.mysql.com
PostgreSQL thực hiện SQL này đã tiến hóa từ các phần mềm Ingres trước đó (tên
PostgreSQLis một dạng nén của hậu Ingres SQL). Nó có sẵn theo giấy phép BSD
và có sẵn như nhiều gói trong hầu hết các bản phân phối Linux. Như với MySQL, bạn sẽ
có nhiều khả năng phải cài đặt một khách hàng, một máy chủ, và các gói hỗ trợ có lẽ bổ sung.
PostgreSQL có trụ sở chính tại http://www.postgresql.org.
SQLite gói này, dựa vào http: // www. sqlite.org, là một thư viện mà thực hiện SQL.
Như vậy, nó không phải là một cơ sở dữ liệu độc lập; thay vào đó, nó được dự định như là một cách để cung cấp các chương trình
với một cách để lưu trữ dữ liệu bằng cách sử dụng một giao diện SQL trong chương trình. Nếu bạn cài đặt một chương trình
có sử dụng SQLite, quản lý gói phân phối của bạn nên cài đặt các thư viện liên quan
cho bạn. Nếu bạn muốn viết một chương trình yêu cầu truy cập cơ sở dữ liệu và bạn không muốn
cài đặt một gói SQL client-server hoàn chỉnh như MySQL hoặc PostgreSQL, SQLite có thể
chỉ là những gì bạn cần.
Có hàng tá các sản phẩm cơ sở dữ liệu SQL hơn cho Linux. Đối với mục đích của việc học
SQL, MySQL hoặc PostgreSQL nên làm tốt, hoặc bạn có thể sử dụng một thực hiện đầy đủ
nếu bạn thích. Nếu bạn có một mục đích cụ thể trong tâm trí cho việc sử dụng SQL, tuy nhiên, bạn nên
nghiên cứu các gói SQL chi tiết hơn. Bạn có thể cần một sản phẩm cụ thể cho khả năng tương thích
với các phần mềm khác, hoặc bạn có thể cần một gói SQL cung cấp các tính năng cụ thể.
Như chỉ lưu ý, một số gói SQL, bao gồm cả MySQL và PostgreSQL, hoạt động trên một
mô hình client-server: Một chương trình (máy chủ ) quản lý cơ sở dữ liệu, trong khi người khác (các
khách hàng) cung cấp cho người sử dụng và các chương trình với quyền truy cập vào cơ sở dữ liệu. Triển khai thực hiện như vậy có thể
làm việc qua mạng, cho phép người sử dụng tại nhiều hệ thống khách hàng để truy cập vào một máy chủ cơ sở dữ liệu tập trung.
Hiểu biết cơ bản SQL
SQL là một công cụ cho cơ sở dữ liệu truy cập, và cụ thể hơn, cơ sở dữ liệu quan hệ. Hình 9.2
minh họa dữ liệu trong một cơ sở dữ liệu quan hệ. Mỗi hàng (đôi khi được gọi là một tuple) đại diện cho
một đối tượng duy nhất hoặc mục khác, và mỗi cột (đôi khi được gọi là một thuộc tính hoặc
trường) đại diện cho một tính năng cụ thể. Sự kết hợp của các hàng và cột được gọi là
một bảng. Mỗi cơ sở dữ liệu có thể chứa nhiều bảng, và SQL hỗ trợ nhiều cơ sở dữ liệu.
Vì vậy, để truy cập dữ liệu, trước tiên bạn phải lựa chọn một cơ sở dữ liệu và một bảng, như được mô tả trong nhiều
chi tiết trong thời gian ngắn.
Giám dữ liệu với SQL 455
Các dữ liệu trong một bảng là không có thứ tự, tại khái niệm nhất. (Trong thực tế, tất nhiên, dữ liệu sẽ
được lưu trữ trong một số thứ tự trên đĩa, nhưng thứ tự này là tùy ý.) Bạn có thể áp đặt một trật tự trên
các kết quả truy vấn, như được mô tả trong thời gian ngắn; Ví dụ, bạn có thể lấy dữ liệu từ cơ sở dữ liệu
đại diện bởi hình 9.2 và đặt hàng các kết quả theo chi phí (cột cuối cùng).
Một cơ sở dữ liệu cho phép truy xuất các thông tin phù hợp với các tiêu chí cụ thể. Bạn có thể tìm kiếm
cho tất cả các đối tượng màu xanh lá cây trong hình 9.2, ví dụ. Bạn cũng có thể chèn, xóa, và cập nhật
thông tin trong một bảng. SQL hỗ trợ nhiều bảng, vì vậy bạn có thể có, ví dụ, các bảng khác nhau đối với tài sản trong văn phòng của bạn và cho những nhân viên làm việc trong văn phòng của bạn.
Cột (thuộc tính) trong một cơ sở dữ liệu chứa các loại dữ liệu cụ thể, và trao đổi chúng
xung quanh làm cho cảm giác ít. Ví dụ, nó rõ ràng rằng các cột thứ hai trong hình 9.2 là
một màu sắc, trong khi cột cuối cùng là một mức giá hoặc giá trị, thể hiện bằng đô la. Nó sẽ làm cho
cảm giác ít để vào màu xanh lá cây là một giá hoặc $ 1,00 như một màu sắc. Những hạn chế đặt vào những gì
có thể xuất hiện trong một cột được biết đến như một domainor một kiểu dữ liệu: Tên miền cho phần thứ hai
cột là một tập hợp các tên màu, trong khi miền cho các cột fi nal là một giá trị số
thể hiện bằng đô la. Bảng 9.3 tóm tắt một số kiểu dữ liệu SQL thông thường.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: