網頁

2017年5月24日 星期三

CentOS 7 常用指令

加入帳號到群組

在 Linux 要加入帳號到現有群組,可以用 useradd 及 usermod 指令實現。useradd 在建立帳號時修改預設值,可以將帳號加到現有群組;而 usermod 就可以用作修改帳號設定,其中一樣是加入帳號加到現有群組。Linux 的群組分別有 Primary group (主要群組)及 Secondary group (額外群組)。

useradd 新增帳號時加入到現有群組,只要在 useradd 加上 -G [group-name] 就可以,例如我建立一個帳號為 phpini, 並加入 devgroup 群組,指令是這樣:

如果 getgroup 不存在,先用 groupadd 建立:

# groupadd gitgroup
然後可以用 useradd 建立帳號:
# useradd -G gitgroup wengxxxxx

如果想將帳號 wengxxxxx 的 Primary group 改為 gitgroup, 只要將 -G 改成 -g
# useradd -g gitgroup wengxxxxx

usermod 的用法跟 useradd 差不多,主要分別是 usermod 是變更帳號現有的設定,將現有帳號加入現有群組。例如將 wengxxxxx 加入 getgroup 群組,指令是這樣:

# usermod -a -G gitgroup wengxxxxx

以下是變更 wengxxxxx 帳號的 Primary group 到 gitproup
# usermod -G gitgroup wengxxxxx

========================================================================
完成docker套件的安裝之後
請下達 # systemctl start docker 命令來啟動它即可。
至於如果希望每一次CentOS系統啟動時自動執行,
請下達# systemctl enable docker 命令。

========================================================================
下面資料來源:http://linux.vbird.org/linux_basic/0210filepermission.php

如何改變檔案屬性與權限

我們現在知道檔案權限對於一個系統的安全重要性了,也知道檔案的權限對於使用者與群組的相關性, 那麼如何修改一個檔案的屬性與權限呢?又!有多少檔案的權限我們可以修改呢? 其實一個檔案的屬性與權限有很多!我們先介紹幾個常用於群組、擁有者、各種身份的權限之修改的指令,如下所示:
  • chgrp :改變檔案所屬群組
  • chown :改變檔案擁有者
  • chmod :改變檔案的權限, SUID, SGID, SBIT等等的特性
#dir -l

drwx------.  6 git         git              143  5月 24 08:52 git

# chgrp -R gitgroup ./git

#dir -l

drwx------.  6 git         gitgroup     143  5月 24 08:52 git

# chmod -R 770 ./git
# dir -l
drwxrwx---.  6 git       gitgroup     143  5月 24 08:52 git


=======================================================================
  • 改變權限, chmod
檔案權限的改變使用的是chmod這個指令,但是,權限的設定方法有兩種, 分別可以使用數字或者是符號來進行權限的變更。我們就來談一談:
  • 數字類型改變檔案權限

    Linux檔案的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限, 先複習一下剛剛上面提到的資料:檔案的權限字元為:『-rwxrwxrwx』, 這九個權限是三個三個一組的!其中,我們可以使用數字來代表各個權限,各權限的分數對照表如下:
    r:4
    w:2
    x:1
    每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:
    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0
    所以等一下我們設定權限的變更時,該檔案的權限數字就是770啦!變更權限的指令chmod的語法是這樣的:
    [root@study ~]# chmod [-R] xyz 檔案或目錄
    選項與參數:
    xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
    -R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更
    
    舉例來說,如果要將.bashrc這個檔案所有的權限都設定啟用,那麼就下達:
    [root@study ~]# ls -al .bashrc
    -rw-r--r--. 1 root root 176 Dec 29  2013 .bashrc
    [root@study ~]# chmod 777 .bashrc
    [root@study ~]# ls -al .bashrc
    -rwxrwxrwx. 1 root root 176 Dec 29  2013 .bashrc
    
    那如果要將權限變成『 -rwxr-xr-- 』呢?那麼權限的分數就成為 [4+2+1][4+0+1][4+0+0]=754 囉!所以你需要下達『 chmod 754 filename』。 另外,在實際的系統運作中最常發生的一個問題就是,常常我們以vim編輯一個shell的文字批次檔後,他的權限通常是 -rw-rw-r-- 也就是664, 如果要將該檔案變成可執行檔,並且不要讓其他人修改此一檔案的話, 那麼就需要-rwxr-xr-x這樣的權限,此時就得要下達:『 chmod 755 test.sh 』的指令囉!

    另外,如果有些檔案你不希望被其他人看到,那麼應該將檔案的權限設定為例如:『-rwxr-----』,那就下達『 chmod 740 filename 』吧!

    例題:
    將剛剛你的.bashrc這個檔案的權限修改回-rw-r--r--的情況吧!
    答:
    -rw-r--r--的分數是644,所以指令為:
    chmod 644 .bashrc
  • 符號類型改變檔案權限

    還有一個改變權限的方法呦!從之前的介紹中我們可以發現,基本上就九個權限分別是(1)user (2)group (3)others三種身份啦!那麼我們就可以藉由u, g, o來代表三種身份的權限!此外, a 則代表 all 亦即全部的身份!那麼讀寫的權限就可以寫成r, w, x囉!也就是可以使用底下的方式來看:

    chmodu
    g
    o
    a
    +(加入)
    -(除去)
    =(設定)
    r
    w
    x
    檔案或目錄

    來實作一下吧!假如我們要『設定』一個檔案的權限成為『-rwxr-xr-x』時,基本上就是:

    • user (u):具有可讀、可寫、可執行的權限;
    • group 與 others (g/o):具有可讀與執行的權限。

    所以就是:
    [root@study ~]# chmod  u=rwx,go=rx  .bashrc
    # 注意喔!那個 u=rwx,go=rx 是連在一起的,中間並沒有任何空白字元!
    [root@study ~]# ls -al .bashrc
    -rwxr-xr-x. 1 root root 176 Dec 29  2013 .bashrc
    
    那麼假如是『 -rwxr-xr-- 』這樣的權限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設定。此外,如果我不知道原先的檔案屬性,而我只想要增加.bashrc這個檔案的每個人均可寫入的權限, 那麼我就可以使用:
    [root@study ~]# ls -al .bashrc
    -rwxr-xr-x. 1 root root 176 Dec 29  2013 .bashrc
    [root@study ~]# chmod  a+w  .bashrc
    [root@study ~]# ls -al .bashrc
    -rwxrwxrwx. 1 root root 176 Dec 29  2013 .bashrc
    
    而如果是要將權限去掉而不更動其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:
    [root@study ~]# chmod  a-x  .bashrc
    [root@study ~]# ls -al .bashrc
    -rw-rw-rw-. 1 root root 176 Dec 29  2013 .bashrc
    [root@study ~]# chmod 644 .bashrc  # 測試完畢得要改回來喔!
    
    知道 +, -, = 的不同點了嗎?對啦! + 與 – 的狀態下,只要是沒有指定到的項目,則該權限『不會被變動』, 例如上面的例子中,由於僅以 – 拿掉 x 則其他兩個保持當時的值不變!多多實作一下,你就會知道如何改變權限囉! 這在某些情況底下很好用的~舉例來說,你想要教一個朋友如何讓一個程式可以擁有執行的權限, 但你又不知道該檔案原本的權限為何,此時,利用『chmod a+x filename』 ,就可以讓該程式擁有執行的權限了。是否很方便?

========================================================================
nano
pwd 取得目前目錄名稱(有可能是連結)
pwd –P 取得正確的目錄名稱
cd
yum
rm
mkdir
cp
tail
vi
vim
systemctl (start/restart/stop)
firewall-cmd
firewall-cmd --permanent --zone=public --add-port=389/tcp
firewall-cmd --reload
wget
unzip
chown

rpm -qa |grep 'openldap*'
find / | grep slapd.conf

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。