Linux許可權及IO重新導向筆記

來源:互聯網
上載者:User

標籤:reference   linux   管理員   file   定向   


許可權管理:

r:

w:

x:

三類使用者:

u: 屬主

g: 屬組

o: 其他使用者


chown: 改變檔案屬主(只有管理員可以使用此命令)

# chown USERNAME file,... 把file的屬主改成這個使用者

-R 修改目錄及其內部檔案或子目錄的屬主

--reference=/path/to/somefile file,... 將file的屬主&屬組一同設定成與path的屬主&屬組一致

chown USERNAME:GRPNAME file,... 同時改變owner, group

eg: chown root:root /tmp/abc

chown :GRPNAME file,... 只改變group  

eg: chown :mygroup /tmp/abc


# chgrp: 改變檔案屬組(只有管理員可以使用此命令)

-R

--reference=/path/to/somefile file,...


#chmod: 修改檔案的許可權

修改三類使用者的許可權:

chmod MODE file, ...

-R

--reference=/path/somefile file,...

修改某類使用者或某些類使用者權限:

u,g,o,a


chmod 使用者類別=MODE file,...

eg: chmod u=rwx /tmp/abc

eg: chmod go=r /tmp/abc

eg: chmod g=rx,o= /tmp/abc 不給許可權,就是沒有許可權 o許可權為---


修改某類使用者的某位或某些位許可權:

u,g,o,a


chmod 使用者類別+|-MODE file,...

chmod u+x,g-x /tmp/abc 賦予owner的x許可權,拿掉屬組的x許可權

chmod a+x /temp/abc 同時賦予三類使用者的x許可權

練習:

1. 建立一個沒有家目錄的使用者openstack

useradd -M openvpn

2. 複製/etc/skel為/home/openstack

cp -r /etc/skel /home/openstack

3. 改變/home/openstack及其內部檔案得屬主屬組君威openstack

chown -R openstack:openstack /home/openstack

4. /home/openstack及其內部的檔案,屬組合其他使用者沒有任何存取權限

chmod -R go= /home/openstack


手動添加使用者hive,基本組為hive(5000), 附加組為mygroup

手動產生密碼:

1. openssl passwd -1 -salt ‘12345678‘


umask: 遮罩碼, 

#umask 022


檔案預設不能具有執行許可權,如果算得的結果中有執行許可權,則將將其許可權加1

使用者建立檔案

檔案:666-umask

目錄:777-umask

站在使用者逇較多來說,SHELL的類型

登陸式shell:

正常通過某終端登陸

su - USERNAME

su -l USERNAME


非登入式shell:

su USERNAME

圖形終端下開啟的命令視窗

自動執行的shell指令碼

bash的設定檔:

全域配置

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

個人配置

~/.bash_profile

~/.bashrc

profile類的檔案:

1. 設定環境變數

2. 運行命令或指令碼

bashrc類的檔案:

1. 設定本地變數

2. 定義命令別名


登陸式shell如何讀取設定檔?

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc


非登陸式shell如何讀取設定檔?

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh



bash: 指令碼解譯器



程式: 指令和資料


控制器: 指令

運算器:

儲存空間:


地址匯流排: 記憶體定址

資料匯流排: 傳輸資料

控制匯流排: 控制指令


寄存器: cpu暫時儲存空間


I/O: 硬碟


程式:


INPUT裝置:


OUTPUT裝置


系統設定

預設輸入裝置: 標準輸出: STDOUT, 1

預設輸出裝置: 標準輸入:  STDIN, 0

標準錯誤輸出: STDERR, 2

eg: passwd --stdin

標準輸入: 鍵盤

標準輸出和錯誤輸出: 顯示器


I/O 重新導向:


Linux:

> 覆蓋輸出

>> 追加輸出

set -C 禁止對已經存在檔案使用覆蓋重新導向

強制覆蓋輸出,則使用 >|

set +C 關閉上述功能


2>:  重新導向錯誤輸出

2>>: 追加方式重新導向錯誤輸出 


&>: 重新導向標準輸出或錯誤輸出至同一個檔案





< 輸入重新導向

<<: Here Document 此處產生文檔

eg:

cat << END

....

....

....

END

cat >> /tmp/myfile.txt<<EOF   追加檔案到myfile.txt,遇到EOF停止



管道: 前一個命令的輸出,做為後一個命令的輸入


命令1 | 命令2 | 命令3


eg:

echo "hello,world" .| tr ‘a-z‘ ‘A-Z‘

echo "redhat" | passwd --stdin hive



練習:

1. 統計/usr/bin 目錄下的檔案個數:

ls /usr/bin  | wc -l

2. 取出當前系統上所有使用者的shell, 要求, 每種shell只顯示一次, 並且按順序進行顯示

cat /etc/passwd | cut -d ":" -f7 | sort -u

cut -d " " -f7 /etc/passwd | sort -u

3. 思考: 如何顯示/var/log 目錄下每個檔案的內容類型?

file /var/log/*

or

cd /var/log

file /var/log/`ls /var/log`

4. 取出/etc/inittab檔案得第6行

cat /etc/inittab | head -6 | tail -1

5. 取出/etc/passwd 檔案中倒數第9個使用者的使用者名稱和shell,顯示到螢幕上並將其儲存至/tmp/users檔案中

cat /etc/passwd|head -9| tail -1 | cut -d ":" -f1,7 >> /tmp/users

6. 顯示/etc/目錄下所有以pa開頭的檔案, 並統計其個數

ls -d /etc/pa* | wc -l

7. 不使用文字編輯器,將alias cls=clear 一行內容添加至目前使用者的.bashrc檔案中

[[email protected] ~]$ cat >>~/.bashrc<<EOF

> alias cls=‘clear‘

> EOF

or

echo "alias cls=clear" >> ~/.bashrc




本文出自 “Richier” 部落格,請務必保留此出處http://richier.blog.51cto.com/1447532/1630157

Linux許可權及IO重新導向筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.