1.groupadd命令html
groupadd [-g -o] gid group 各個選項具體含義以下: -g:指定新建用戶組的GID號,該GID號必須惟一,不能和其它用戶組的GID號重複。 -o:通常與-g選項同時使用,表示新用戶組的GID能夠與系統已有用戶組的GID相同。 //新增group sheyou gid=1020 groupadd -g 1020 sheyou //查看組信息 more /etc/group|grep linuxfans //建立了一個用戶user1,同時指定user1的主用戶組爲group1,附加用戶組爲group2和group3 useradd -g group1 -G group2,group3 user1 //用戶查看 more /etc/group|grep user1 //設置密碼 passwd user1
2.newgrp命令mysql
//用戶切換組 newgrp group2
3.groupdel命令linux
當須要從系統上刪除用戶組時,可用groupdel指令來完成這項工做。若是該用戶組中仍包括某些用戶,則必須先刪除這些用戶後,而後才能刪除用戶組。 例如:刪除linuxfans這個用戶組 groupdel linuxfans
1.useradd創建用戶的過程sql
useradd不加任何參數建立用戶時,系統首先讀取添加用戶配置文件/etc/login.defs和/etc/default/useradd,根據這兩個配置文件中定 義的規則添加用戶,而後會向/etc/passwd和/etc/group文件添加用戶和用戶組記錄,同時/etc/passwd和/etc/group對應的加密文件也會 自動生成記錄,接着系統會自動在/etc/default/useradd文件設定的目錄下創建用戶主目錄,最後複製/etc/skel目錄中的全部文件到新用戶 的主目錄中,這樣一個新的用戶就創建完成了。
2.useradd的使用語法shell
useradd語法的通常格式爲: useradd [-u uid [-o]] [-g group] [-G group,...] [-d home] [-s shell] [-c comment] [-f inactive] [-e expire ] name 各個選項具體含義以下: -u uid:即用戶標識號,此標識號必須惟一。 -g group:指定新建用戶登陸時所屬的默認組,或者叫主組。此羣組必須已經存在。 -G group:指定新建用戶的附加組,此羣組必須已經存在。附加組是相對與主組而言的,當一個用戶同時是多個組中的成員時, 登陸時的默認組成爲主組,而其它組稱爲附加組。 -d home:指定新建用戶的默認主目錄,若是不指定,系統會在/etc/default/useradd文件指定的目錄下建立用戶主目錄。 -s shell:指定新建用戶使用的默認shell,若是不指定,系統以/etc/default/useradd文件中定義的shell做爲新建用戶的默認shell。 -c comment:對新建用戶的說明信息。 -f inactive:指定賬號過時多長時間後永久停用。當值爲0時賬號則馬上被停權。而當值爲-1時則關閉此功能,預設值爲-1 -e expire:指定用戶的賬號過時時間,日期的指定格式爲MM/DD/YY。 name:指定須要建立的用戶名。
3.usermod的使用語法centos
usermod用來修改用戶的帳戶屬性信息,使用語法以下: usermod [-u uid [-o]] [-g group] [-G group,...] [-d 主目錄 [-m]] [-s shell] [-c 註釋] [-l 新名稱] [-f 失效日期] [-e 過時日期][-L|-U] Name 各個選項具體含義以下: -u uid:指定用戶新的UID值,此值必須爲惟一的ID值,除非用-o選項。 -g group:修改用戶所屬的組名爲新的用戶組名,此用戶組名必須已經存在。 -G group:修改用戶所屬的附加組。 -d 主目錄:修改用戶登陸時的主目錄。 -s shell:修改用戶登陸系統後默認使用的shell -c 註釋:修改用戶的註釋信息。 -l 新名稱:修改用戶賬號爲新的名稱。 -f 失效日:賬號過時多少天后永久禁用。 -e 過時日:增長或修改用戶帳戶的過時時間。 -L:鎖定用戶密碼,使密碼無效。 -U:解除密碼鎖定。 Name:要修改屬性的系統用戶。
4.userdel的使用語法bash
Userdel用來刪除一個用戶,若指定「-r」參數不但刪除用戶,同時刪除用戶的主目錄以及目錄下的全部文件。語法格式爲: userdel [-r][用戶賬號]
5.應用舉例oracle
1)添加一個用戶mylinux,指定所屬的主用戶組爲fanslinux,附加用戶組爲linuxfans,同時指定用戶的默認主目錄爲/opt/mylinux測試
[root@localhost ~]# useradd -g fanslinux -G linuxfans -d /opt/mylinux mylinux [root@localhost ~]# more /etc/passwd|grep mylinux mylinux:x:523:1030::/opt/mylinux:/bin/bash [root@localhost ~]# more /etc/group|grep mylinux linuxfans:x:1020:mylinux
2)添加一個用戶test_user,指定UID爲686,默認的shell爲/bin/csh,讓其歸屬爲用戶組linuxfans和fanslinux,同時添加對此用戶的描述ui
[root@localhost ~]# useradd -u 686 -s /bin/csh -G linuxfans,fanslinux -c "This is test user" test_user [root@localhost ~]# more /etc/passwd|grep test_user test_user:x:686:686:This is test user:/home/test_user:/bin/csh [root@localhost ~]# more /etc/group|grep test_user fanslinux:x:1030:test_user linuxfans:x:1020:mylinux,test_user test_user:x:686:
3)修改用戶test_user的主用戶組爲新建的組test_group1,同時修改test_user的附加組爲linuxfans和root,最後修改test_user的默認登陸shell爲/bin/bash
[root@localhost ~]# groupadd test_group1 #添加一個新的用戶組 [root@localhost ~]# more /etc/group|grep test_group1 #顯示新增用戶組的信息 test_group1:x:1031: [root@localhost ~]# usermod -g test_group1 -G linuxfans,root -s /bin/bash test_user [root@localhost ~]# more /etc/passwd|grep test_user #從輸出可知,用戶的屬性已經更改 test_user:x:686:1031:This is test user:/home/test_user:/bin/bash [root@localhost ~]# more /etc/group|grep test_user #從輸出可知,用戶組的屬性也同步更改 root:x:0:root,test_user linuxfans:x:1020:mylinux,test_user test_user:x:686:
4)如何鎖定、解除用戶密碼
1.對test_user和mylinux用戶設置密碼
[root@localhost ~]# passwd test_user Changing password for user test_user. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@localhost ~]# passwd mylinux Changing password for user mylinux. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
2.經過su命令切換到mylinux用戶下,而後在mylinux下再次切換到test_user用戶下,這裏的切換用戶是爲了說明一個問題:
從超級用戶root切換到普通用戶下,是不須要輸入普通用戶密碼的,系統也不會去驗證密碼。
但普通用戶之間切換是須要密碼驗證的。
[root@localhost ~]# su – mylinux #經過su命令切換到mylinux用戶下 [mylinux@localhost ~]$ whoami #用whoami命令查看當前用戶 mylinux [mylinux@localhost ~]$ su - test_user #這裏是從mylinux用戶下切換到test_user用戶下,須要輸入密碼 Password: [mylinux@localhost ~]$ whoami #成功切換到test_user用戶下 test_user
3.在root用戶下執行usermod鎖定test_user的密碼,測試test_user是否還能登陸,從下面能夠看出,密碼鎖定後,出現登陸失敗。
[root@localhost ~]# usermod -L test_user #鎖定test_user用戶的密碼 [root@localhost ~]# su - mylinux [mylinux@localhost ~]$ whoami mylinux [mylinux@localhost ~]$ su - test_user #這裏輸入的密碼是正確的,可是提示密碼錯誤,由於密碼被鎖定了 Password: su: incorrect password [mylinux@localhost ~]$ whoami mylinux
4.test_user解除密碼鎖定,登陸正常。
[root@localhost ~]# usermod -U test_user #解除密碼鎖定 [root@localhost ~]# su – mylinux [mylinux@localhost ~]$ whoami mylinux [mylinux@localhost ~]$ su - test_user Password: [test_user@localhost ~]$ whoami #密碼鎖定解除後,test_user用戶能夠登陸系統 test_user
所謂的文件權限,是指對文件的訪問權限,包括對文件的讀、寫、刪除、執行等,在linux下,每一個用戶都具備不一樣的權限,普通用戶只能在本身的主目錄下進行寫操做,而在主目錄以外,普通用戶只能進行查找、讀取操做,如何處理好文件權限和用戶之間的關係,是本節講述的重點。
使用ls命令就能夠查看文件的以及目錄的權限信息,不帶任何參數的ls命令只顯示文件名稱,經過「ls –al」能夠顯示文件或者目錄的權限信息,看下面的輸出:
[root@localhost oracle]# ls -al total 92 drwxr-xr-x 3 oracle oinstall 4096 Oct 30 2006 admin drwxr-xr-x 2 oracle oinstall 4096 Oct 23 18:22 bin -rwxr-xr-x 1 root root 3939 Mar 20 2008 .createtablespace.pl drwxr-xr-x 3 oracle oinstall 4096 Oct 30 2006 flash_recovery_area drwxr-xr-x 2 oracle oinstall 4096 Jun 25 15:18 install drwx------ 2 oracle oinstall 16384 Jun 25 01:10 lost+found drwxr-xr-- 3 oracle oinstall 4096 Oct 30 2008 oradata drwxr-xr-x 6 oracle oinstall 4096 Oct 30 2006 oraInventory drwxr-xr-x 3 oracle dba 4096 Oct 28 2006 product
爲了能更詳細的介紹上面輸出中每一個屬性的含義,下圖列出了oradata文檔每列表明的含義:
下面經過具體的實例講述每列表明的含義。
1.第一列顯示文檔類型與執行權限,有十個字符組成,分爲4個部分,下面將文檔oradata權限分解,以下圖所示
接着對每一個部分解釋以下:
文檔類型部分:
當爲「d」時,表示目錄;當爲「l」時表示軟連接;當爲「-」時表示文件;當爲「c」時表示串行端口字符設備文件;當爲「b」時表示可供存儲的塊設備文件。由此可知,oradata是一個目錄。
在接下來的三個部分中,三個字符爲一組,每一個字符的含義爲:「r」表示只讀,即read;「w」表示可寫,即write;「x」表示可執行,即execute;「-」表示無此權限,即爲空。
User部分:
第二部分是對文檔全部者(user)權限的設定,「rwx」表示用戶對oradata目錄有讀、寫和執行的全部權限。
Group部分:
第三部分是對文檔所屬用戶組(group)權限的設定,「r-x」表示用戶組對oradata目錄有讀和執行的權限,可是沒有寫的權限。
Others部分:
第四部分是對文檔擁有者以外的其它用戶權限的設定,「r--」表示其它用戶或用戶組對oradata目錄只有讀的權限。
文檔的操做權限是能夠指定和更改的,經過chmod命令便可更改文件或者目錄的權限,這個將在下節講述。
2.第二列顯示的是文檔的連結數,這個連結數就是硬連接的概念,即多少個文件指向同一個索引節點,舉例以下:
[root@localhost ~]#ls -al -rw-r--r-- 1 root root 60151 Oct 25 01:01 install.log [root@localhost ~]#ln install.log install.log1 [root@localhost ~]#ls –al install.log -rw-r--r-- 2 root root 60151 Oct 25 01:01 install.log [root@localhost ~]#ln install.log install.log2 [root@localhost ~]#ls –al install.log -rw-r--r-- 3 root root 60151 Oct 25 01:01 install.log
從上面能夠看出,install.log文件原始的連結數是1,而後作了兩個硬連接操做,install.log文件的鏈接數變爲3,這就是鏈接數的含義。
3.第三列顯示了文檔所屬的用戶和用戶組,也就是文檔是屬於哪一個用戶以及哪一個用戶組全部,例如上面的oradata目錄,所屬的用戶爲oracle,所屬的組爲oinstall組。文件所屬的用戶和組是能夠更改的,經過chown命令就能夠修改文檔的用戶屬性。
4.第四列顯示的是文檔的大小,默認顯示的是以bytes爲單位,可是也能夠經過命令的參數修改顯示的單位,例如能夠經過「ls -sh」組合人性化的顯示文檔的大小。對於目錄,一般只顯示文件系統默認block的大小。
5.第五列顯示文檔最後一次的修改日期,一般以月、日、時、分的方式顯示,若是文檔修改時間距離如今已經很遠了,會使用月、日、年的方式顯示。
6.第六列顯示的是文檔名稱,linux下以「.」開頭的文件是隱藏文件,同理以「.」開頭的目錄是隱藏目錄,隱藏文檔只有經過ls命令的「-a」選項才能顯示。
例如上面的.createtablespace.pl文件就是一個隱藏文件。
chown就是change owner的意思,主要做用就是改變文件或者目錄的全部者,而全部者包含用戶和用戶組,其實chown就是對文件所屬的用戶和用戶組進行的一系列設置。
chown使用的通常語法爲: [root@localhost ~]#chown [-R] 用戶名稱 文件或目錄 [root@localhost ~]#chown [-R] 用戶名稱:用戶組組名稱 文件或目錄
參數說明:
-R : 進行遞歸式的權限更改,也就是將目錄下的全部文件、子目錄都更新成爲指定的用戶組權限。經常用於變動某一目錄的狀況。 注意,在執行操做前,確保指定的用戶以及用戶組在系統中是存在的。
例子1:修改隱藏文件「.createtablespace.pl」的所屬用戶爲oracle,所屬的用戶組爲oinstall,操做以下:
[root@localhost ~]#chown oracle:oinstall .createtablespace.pl [root@localhost ~]#ls -al .createtablespace.pl -rwxr-xr-x 1 oracle oinstall 3939 Mar 20 2008 createtablespace.pl 注意,這裏要確保oracle用戶和oinstall組已經存在。
例子2:修改oradata目錄以及目錄下的全部文件的所屬用戶爲root,用戶組爲dba組,
[root@localhost ~]#chown -R root:dba oradata drwxr-xr-- 3 root dba 4096 Oct 30 2006 oradata
chmod用於改變文件或目錄的訪問權限。該命令有兩種用法。一種是包含字母和操做符表達式的字符設定法;另外一種是包含數字的數字設定法。
字符設定法
使用語法爲:
chmod [who] [+ | - | =] [mode] 文件名
命令中各選項的含義以下:
who表示操做對象,能夠是下面字母中的任何一個或者它們的組合。 u 表示「用戶(user)」,即文件或目錄的全部者。 g 表示「用戶組(group)」,即文件或目錄所屬的用戶組。 o 表示「其餘(others)用戶」。 a 表示「全部(all)用戶」。它是系統默認值。 操做符號含義以下: 「+」表示添加某個權限。 「-」表示取消某個權限。 「=」表示賦予給定的權限,同時取消文檔之前的全部權限。 mode表示能夠執行的權限,能夠是「r「(只讀)、「w」(可寫)和「x」(可執行),以及它們的組合。 文件名能夠是以空格分開的文件列表,支持通配符。
2.舉例
修改install.log文件,使其全部者具備全部權限,用戶組和其它用戶具備只讀權限:
[root@localhost ~]# ls -al install.log -rw------ 1 root root 60151 Oct 17 16:11 install.log [root@localhost ~]# chmod u=rwx,g+r,o+r install.log [root@localhost ~]# ls -al install.log -rwxr--r-- 1 root root 60151 Oct 17 16:11 install.log 修改/etc/fstab文件的權限,使其全部者具備讀寫權限,用戶組和其它用戶沒有任何權限: [root@localhost ~]# ll /etc/fstab -rwxr--r-- 1 root root 1150 Oct 23 09:30 /etc/fstab [root@localhost ~]# chmod u-x,g-r,o-r /etc/fstab [root@localhost ~]# ll /etc/fstab -rw------- 1 root root 1150 Oct 23 09:30 /etc/fstab
3.數字設定法
首先了解一下用數字表示屬性的含義,0表示沒有任何權限,1表示有可執行權限,與上面字符表示法中的「x」有相同的含義。2表示有可寫權限,與「w」對應,4表示有可讀權限,對應與「r「。
若是想讓文件的屬主擁有讀和寫的權限,能夠經過4(可讀)+2(可寫)=6(可讀可寫)的方式來實現,那麼用數字6就表示擁有讀寫權限。
使用語法:
chmod [屬主權限的數字組合] [用戶組權限的數字組合] [其它用戶權限的數字組合] 文件名
下圖展現了數字設定法的實現原理:
上圖數字設定法含義剖析
從圖中能夠清晰的看出,「755」組合的表明含義,第一個「7」顯示了文件全部者的權限,是經過4(r)+2(w)+1(x)=7(rwx)而獲得的。第二個「5」顯示了文件所屬組的權限,是經過4(r)+0(-)+1(x)=5(rx)而獲得的,同理最後一個「5」也有相似的含義。
舉例:
某個文件mysqltuner.pl的默認權限爲600,即「-rw-------」,表示只有此文件的全部者(User)擁有讀寫權限,其它用戶(Others)和組(Group)沒有對此文件訪問的任何權限。
首先修改此文件的權限爲644,即「-rw-r--r--」,表示此文件的全部者(User)擁有讀寫權限,而其它用戶(Others)和組(Group)僅僅擁有讀的權限,操做以下:
[linux1@localhost ~]$ ls -al mysqltuner.pl -rw------- 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl [linux1@localhost ~]$ chmod 644 mysqltuner.pl [linux1@localhost ~]$ ls -al mysqltuner.pl -rw-r--r-- 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl
而後接着修改mysqltuner.pl文件的權限爲755,即「-rwxr-xr-x」,表示此文件的全部者(User)擁有讀寫執行權限,而其它用戶(Others)和組(Group)擁有對此文件的讀和執行權限。
[linux1@localhost ~]$ chmod 755 mysqltuner.pl [linux1@localhost ~]$ ls -al mysqltuner.pl -rwxr-xr-x 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl