Linux OS 學習筆記(1)


1. roothtml


1)由普通用戶進入rootnode

首先,要容許 su 到 root,在當前用戶(系統安裝時創建的用戶及密碼)終端輸入:sudo passwdlinux

me@tipfoo:~$ sudo passwd 
 
Password: <--- 輸入安裝時那個用戶的密碼 (輸入時屏幕不會顯示密碼)
 
Enter new UNIX password: <--- 新的Root用戶密碼 
 
Retype new UNIX password: <--- 重複新的Root用戶密碼 
 
passwd:已成功更新密碼
 
其次,要切換root,使用su命令

2)退出root權限:
終端輸入:exit
  終端輸入:su - username

3)關閉root登陸算法

修改以下文件:vim

$vim /etc/sudoers/

賦予某個用戶root權限。如:用戶sysadmin。確保在編輯上述文件時使用的用戶是系統已有的用戶。找到下面這行:安全

root ALL=(ALL) ALL

增長一行:bash

root ALL=(ALL) ALL
sysadmin ALL=(ALL) ALL

關閉經過SSH直接訪問root,須要再次打開sshd_config,找到下面這行:服務器

#PermitRootLogin yes

更改成:網絡

PermitRootLogin no

而後保存文件,重啓sshd守護進程使改動生效:ssh

sudo /etc/init.d/sshd restart

 


 
2. linux 裏設置環境變量的方法

  通常來講,配置交叉編譯工具鏈的時候須要指定編譯工具的路徑,此時就須要設置環境變量。 「/bin」、「/sbin」、「 /usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變量中了,若是可執行文件在這幾個標準位置,在終端命令行輸入該軟件可執行文件的文件名和參數(若是須要參數),回車便可。 

 1)export命令:
#export $NODE_PATH=/opt/node-v7.8.0-linux-x86/lib/node_modules

可用命令export查看是否設置成功:

...

declare -x PATH="/opt/node-v7.8.0-linux-x86/lib/node_modules"

export的效力僅及於該次登錄操做。

  命令 export $PATH="路徑」(或「PATH=$PATH:路徑」) ($PATH爲環境變量名,如DVSDK;調用時用$DVSDK)能夠把這個路徑加入環境變量,可是退出這個命令行就失效了。要想永久生效,須要把這行添加到環境變量文件裏。有兩個文件可選:「/etc/profile」和用戶主目錄下的「.bash_profile」,「/etc/profile」對系統裏全部用戶都有效,用戶主目錄下的「.bash_profile」只對這個用戶有效。與DOS/Window不一樣,UNIX類系統環境變量中路徑名用冒號分隔,不是分號。

2)修改profile文件:
#vi /etc/profile
在裏面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

3) 修改.bashrc文件:
# vi /root/.bashrc
在裏面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

後兩種方法通常須要從新註銷系統才能生效,最後能夠經過echo命令測試一下:
# echo $PATH


3. Linux下源碼的安裝 


Linux下源碼的安裝通常由3個步驟組成:配置(configure)、編譯(make)、安裝(make install).

1)configure

Configure 是一個腳本,可經過命令查看具體信息:

./configure -help
--prefix=PREFIX      install architecture-independent files in PREFIX
                [/usr/local]
--exec-prefix=EPREFIX  install architecture-dependent files in EPREFIX
                [same as prefix]

其餘的參數無論,重點關注上述--prefix參數。使用這個參數可將軟件安裝到--prefix參數後指定的路徑中,方便管理和移植.

 

2)編譯

make

3)安裝

make install

以上操做都是在源文件目錄裏進行.

 


4. echo命令


看了別人的介紹已經十分詳細,傳送門以下:

1)echo基礎輸出:http://www.zsythink.net/archives/96http://www.cnblogs.com/ZhangShuo/articles/1829589.html

2)echo輸出帶格式字符:http://www.zsythink.net/archives/111


5. ssh_config和sshd_config配置文件


   SSH(Secure Shell)是專爲遠程登陸會話和其餘網絡服務提供安全性的協議。如今遠程管理linux系統基本上都要使用到ssh,緣由很簡單:telnet、FTP等傳輸方式是‍以明文傳送用戶認證信息,本質上是不安全的,存在被網絡竊聽的危險。利用SSH協議能夠有效防止遠程管理過程當中的信息泄露問題,透過SSH能夠對全部傳輸的數據進行加密,也可以防止DNS欺騙和IP欺騙。ssh_config和sshd_config都是ssh服務器的配置文件,前者是針對客戶端的配置文件,後者則是針對服務端的配置文件。

1)ssh_config文件參數

# Site-wide defaults for various options
帶「#」表示該句爲註釋不起做,該句不屬於配置文件原文,意在說明下面選項均爲系統初始默認的選項。說明一下,實際配置文件中也有不少選項前面加有「#」註釋,雖然表示不起做用,實際上是說明此爲系統默認的初始化設置。
Host *
"Host"只對匹配後面字串的計算機有效,「*」表示全部的計算機。從該項格式前置一些能夠看出,這是一個相似於全局的選項,表示下面縮進的選項都適用於該設置,能夠指定某計算機替換*號使下面選項只針對該算機器生效。
ForwardAgent no
"ForwardAgent"設置鏈接是否通過驗證代理(若是存在)轉發給遠程計算機。
ForwardX11 no
"ForwardX11"設置X11鏈接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
RhostsAuthentication no
"RhostsAuthentication"設置是否使用基於rhosts的安全驗證。
RhostsRSAAuthentication no
"RhostsRSAAuthentication"設置是否使用用RSA算法的基於rhosts的安全驗證。
RSAAuthentication yes
"RSAAuthentication"設置是否使用RSA算法進行安全驗證。
PasswordAuthentication yes
"PasswordAuthentication"設置是否使用口令驗證。
FallBackToRsh no
"FallBackToRsh"設置若是用ssh鏈接出現錯誤是否自動使用rsh,因爲rsh並不安全,因此此選項應當設置爲"no"。
UseRsh no
"UseRsh"設置是否在這臺計算機上使用"rlogin/rsh",緣由同上,設爲"no"。
BatchMode no
"BatchMode":批處理模式,通常設爲"no";若是設爲"yes",交互式輸入口令的提示將被禁止,這個選項對腳本文件和批處理任務十分有用。
CheckHostIP yes
"CheckHostIP"設置ssh是否查看鏈接到服務器的主機的IP地址以防止DNS欺騙。建議設置爲"yes"。
StrictHostKeyChecking no
"StrictHostKeyChecking"若是設爲"yes",ssh將不會自動把計算機的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦計算機的密匙發生了變化,就拒絕鏈接。
IdentityFile ~/.ssh/identity
"IdentityFile"設置讀取用戶的RSA安全驗證標識。
Port 22
"Port"設置鏈接到遠程主機的端口,ssh默認端口爲22。
Cipher blowfish
「Cipher」設置加密用的密鑰,blowfish能夠本身隨意設置。
EscapeChar ~
「EscapeChar」設置escape字符。

2)sshd_config文件參數

Port 22
"Port"設置sshd監聽的端口號。
ListenAddress 192.168.1.1
"ListenAddress」設置sshd服務器綁定的IP地址。
HostKey /etc/ssh/ssh_host_key
"HostKey」設置包含計算機私人密匙的文件。
ServerKeyBits 1024
"ServerKeyBits」定義服務器密匙的位數。
LoginGraceTime 600
"LoginGraceTime」設置若是用戶不能成功登陸,在切斷鏈接以前服務器須要等待的時間(以秒爲單位)。
KeyRegenerationInterval 3600
"KeyRegenerationInterval」設置在多少秒以後自動從新生成服務器的密匙(若是使用密匙)。從新生成密匙是爲了防止用盜用的密匙解密被截獲的信息。
PermitRootLogin no
"PermitRootLogin」設置是否容許root經過ssh登陸。這個選項從安全角度來說應設成"no"。
IgnoreRhosts yes
"IgnoreRhosts」設置驗證的時候是否使用「rhosts」和「shosts」文件。
IgnoreUserKnownHosts yes
"IgnoreUserKnownHosts」設置ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略用戶的"$HOME/.ssh/known_hosts」
StrictModes yes
"StrictModes」設置ssh在接收登陸請求以前是否檢查用戶家目錄和rhosts文件的權限和全部權。這一般是必要的,由於新手常常會把本身的目錄和文件設成任何人都有寫權限。
X11Forwarding no
"X11Forwarding」設置是否容許X11轉發。
PrintMotd yes
"PrintMotd」設置sshd是否在用戶登陸的時候顯示「/etc/motd」中的信息。
SyslogFacility AUTH
"SyslogFacility」設置在記錄來自sshd的消息的時候,是否給出「facility code」。
LogLevel INFO
"LogLevel」設置記錄sshd日誌消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。
RhostsAuthentication no
"RhostsAuthentication」設置只用rhosts或「/etc/hosts.equiv」進行安全驗證是否已經足夠了。
RhostsRSAAuthentication no
"RhostsRSA」設置是否容許用rhosts或「/etc/hosts.equiv」加上RSA進行安全驗證。
RSAAuthentication yes
"RSAAuthentication」設置是否容許只有RSA安全驗證。
PasswordAuthentication yes
"PasswordAuthentication」設置是否容許口令驗證。
PermitEmptyPasswords no
"PermitEmptyPasswords」設置是否容許用口令爲空的賬號登陸。
AllowUsers admin
"AllowUsers」的後面能夠跟任意的數量的用戶名的匹配串,這些字符串用空格隔開。主機名能夠是域名或IP地址。

6. /etc/fstab


      當Linux系統下劃分了新的分區後,須要將這些分區設置爲開機自動掛載,不然,Linux是沒法使用新建的分區的。 /etc/fstab 文件負責配置Linux開機時自動掛載的分區。

該文件包含六個域:

# <file system> <mount point> <type> <options> <dump> <pass>
proc                  /proc                  proc defaults 0 0
/dev/hda1         / ext3               errors=remount-ro 0 1
/swapfile           swap                swap defaults 0 0
/dev/hdc           /media              /cdrom0 udf,iso9660 user,noauto 0 0

1)設備名稱(file system )

這裏用來指定你要掛載的文件系統的設備名稱或塊信息,也能夠是遠程的文件系統。能夠是實際分區名,也能夠是實際分區的卷標(Lable)。若是磁盤是SATA接口,且有多個磁盤,則每一個磁盤被標記爲 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此類推;而每一個磁盤的分區被標記爲 /dev/hda一、 /dev/hda2等。若是磁盤是SCSI類型,則多個磁盤會被分別標記爲 /dev/sda、/dev/sdb等等。分區同理。若是使用標籤來表示,則格式如:1  LABLE=/

2)默認掛載點

建立掛載點方法以下:
    # mkdir /mnt/hda1     建立掛載/dev/hda1分區的目錄;
    # chmod 777 /mnt/hda1   打開權限,全部用戶可讀可寫可執行;

執行完了以上兩步就能夠在/etc/fstab裏使用這個掛載點了。

3)文件系統類形。若是想了解你的kernel目前支持哪些文件系統,能夠查看/proc/filesystems的內容。

Linux file systems: ext2, ext3, jfs, reiserfs, reiser4, xfs, swap.
Windows:
vfat = FAT 32, FAT 16
ntfs= NTFS
Note: For NTFS rw ntfs-3g
CD/DVD/iso: iso9660
Network file systems:
nfs: server:/shared_directory /mnt/nfs nfs <options> 0 0
smb: //win_box/shared_folder /mnt/samba smbfs rw,credentials=/home/user_name/winbox-credentials.txt 0 0
auto: The file system type (ext3, iso9660, etc) it detected automatically. Usually works. Used for removable devices
(CD/DVD, Floppy drives, or USB/Flash drives) as the file system may vary on thesedevices.

4)掛載選項

fstab中的第四列表示設備或者分區所須要的掛載選項。這一列也是fstab中最複雜最容易出錯的一列,若是你想知道更多的東西,求助於man。

auto 和 noauto:這是控制設備是否自動掛載的選項。auto是默認選擇的選項,這樣,設備會在啓動或者你使用mount -a命令時按照fstab的內容自動掛載。若是你不但願這樣,就使用noauto選項,若是這樣的話,你就只能明確地經過手工來掛載設備。

user 和 nouser:這是一個很是有用的選項,user選項容許普通用戶也能掛載設備,而nouser則只容許root用戶掛載。nouser是默認選項,這也是讓不少 Linux新手頭疼的東西,由於他們發現沒有辦法正常掛載光驅,Windows分區等。若是你做爲普通身份用戶遇到相似問題,或者別的其餘問題,就請把 user屬性增長到fstab中。

exec 和 noexec: exec容許你執行對應分區中的可執行二進制程序,同理,noexec的做用恰好相反。若是你擁有一個分區,分區上有一些可執行程序,而剛好你又不肯意,或者不能在你的系統中執行他們,就可使用noexec屬性。這種狀況多發生於掛載Windows分區時。exec是默認選項,理由很簡單,若是 noexec變成了你/根分區的默認選項的話……

ro: 以只讀來掛載文件系統。

rw: 以可讀可寫的屬性來掛載系統。

sync 和 async:對於該文件系統的輸入輸出應該以什麼方式完成。sync的意思就是同步完成,通俗點講,就是當你拷貝一個東西到設備或者分區中時,全部的寫入變化將在你輸入cp命令後當即生效,這個東西應該立馬就開始往設備或者分區裏面拷貝了。而若是是async,也就是輸入輸出異步完成的話,當你拷貝一個東西到設備或者分區中時,可能在你敲擊cp命令後好久,實際的寫入操做纔會執行,換句話說,就是進行了緩衝處理。

有時候這種機制蠻不錯的,由於sync會影響你係統的運行速度,可是這也會帶來一些問題。想想,當你但願將一個文件拷貝到u盤上時,你執行了 cp 命令,卻忘記執行umount命令(它會強行將緩衝區內容寫入),那麼你拷貝的文件實際上並無在u盤上面。若是你是使用的mv命令,而你又很快將u盤拔出……恭喜你,文件會從這個星球上消失的。所以,雖然async是默認屬性,可是對於u盤,移動硬盤這種可移動存儲設備,最好仍是讓他們使用sync選項。

defaults: 全部選項所有使用默認配置,包括rw, suid, dev, exec, auto, nouser, 和 async。

通常用戶沒有特殊需求,直接使用defaults就能夠了。看完介紹,咱們再回過頭去看看前面的示例內容,以光驅爲例,主要關注掛載選項這裏,能夠看到,光驅和其餘分區設備的不一樣是ro,由於普通光驅是隻讀的。而exec則讓你能夠從光驅上直接執行某些程序。

5)dump:可否被dump備份命令做用:dump是一個用來做爲備份的命令。

一般這個參數的值爲0或者1。0:表明不要作dump備份;1:表明要天天進行dump的操做;2:表明不定日期的進行dump操做

6)fsck選項,告訴fsck程序以什麼順序檢查文件系統,爲0就表示不檢查,(/)分區永遠都是1,其它的分區只能從2開始,當數字相同就同時檢查(但不能有兩1),

 注意:當你修改了/etc/fstab後,必定要從新引導系統纔會有效。

參考:http://lspgyy.blog.51cto.com/5264172/1297432;http://diamonder.blog.51cto.com/159220/282542;http://www.cnblogs.com/qiyebao/p/4484047.html

相關文章
相關標籤/搜索