【命令做用】用於顯示和設置系統的主機名稱(可是不會永久保存,重啓後會恢復)linux
【命令語法】hostname(選項)(參數)shell
【經常使用選項】數據庫
-a:顯示主機別名(alias name)windows
-d:顯示DNS域名centos
-i:顯示主機的ip地址安全
【參數說明】須要指定查看,設置的主機名bash
【命令示例】架構
顯示主機的ip地址工具
# hostname -i學習
【命令做用】用於顯示當前系統相關信息(內核版本號、硬件架構、主機名稱和操做系統類型等)
【命令語法】uname(選項)
【經常使用選項】
-a:詳細顯示所有的信息
【參數說明】無
【命令示例】
顯示當前系統詳細相關信息(內核版本號、硬件架構、主機名稱和操做系統類型等)
uname -a
【命令做用】顯示或設置系統時間與日期
【命令語法】date(選項)(參數)
【經常使用選項】
【參數說明】
【命令示例】
【命令做用】清除當前屏幕終端上的任何信息
【命令語法】clear
【經常使用選項】無
【參數說明】無
【命令示例】
清除當前屏幕終端上的任何信息
# clear
【命令做用】顯示當前登陸系統的全部用戶的用戶列表
【命令語法】users(選項)
【經常使用選項】無
【參數說明】無
【命令示例】
顯示當前登陸系統的全部用戶
# users
【命令做用】輸出指定用戶所在的組的組成員
【命令語法】groups(選項)(參數)
【經常使用選項】無
【參數說明】須要指定要打印所屬工做組的用戶名
【命令示例】
顯示ruan用戶所屬的組
# groups ruan
【命令做用】以其餘身份來執行命令,默認的身份爲root
【命令語法】sudo(選項)(參數)
【經常使用選項】
-l:列出目前用戶可執行與沒法執行的指令;
-u<用戶>:以指定的用戶做爲新的身份
【參數說明】須要運行的指令和對應的參數
【命令示例】
# sudo -u userb ls -l --指定用戶執行命令
# sudo -l --列出目前的權限
【命令做用】退出目前的shell,並返回給定值
【命令語法】exit(參數)
【經常使用選項】無
【參數說明】返回值:指定shell返回值
【命令示例】
# exit --退出當前shell
【命令做用】從新啓動正在運行的Linux操做系統
【命令語法】reboot(選項)
【經常使用選項】
-f 強制從新開機
-w:僅作測試,並不真正將系統從新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件
【參數說明】無
【命令示例】
從新開機
# reboot
強制開機
# reboot -f
【命令做用】關閉計算機操做系統而且切斷系統電源
【命令語法】poweroff(選項)
【經常使用選項】-f --強制關閉操做系統
【參數說明】
【命令示例】
強制關閉計算機
# poweroff -f
【命令做用】關閉正在運行的Linux操做系統
【命令語法】halt(選項)
【經常使用選項】無
【參數說明】無
【命令示例】
關閉正在運行的Linux操做系統
# halt
【命令做用】系統關機(必須在root下)
【命令語法】shutdown(選項)(參數)
【經常使用選項】-h 將系統關閉
【參數說明】
設置多久時間後執行shutdown指令
要傳送給全部登入用戶的信息
【命令示例】
如今關閉計算機
shutdown -h now
【命令做用】顯示指定數目的指令命令
【命令語法】history(選項)(參數)
【經常使用選項】-c --清空當前歷史命令
【參數說明】顯示最近的n條歷史命令
【命令示例】
顯示最近使用的20條歷史命令信息
# history 20
centos7的修改方法變了,記錄以下,僅供後期參考:
一、查看/etc/inittab文件
二、由文件說明能夠看出,centos只有兩種啓動模式:
multi-user.target: analogous to runlevel 3 #命令行模式
graphical.target: analogous to runlevel 5 #圖形模式
三、經過systemctl get-default 命令獲取當前模式:
四、經過systemctl set-default multi-user.target 命令,修改啓動模式:
用戶帳號的管理工做主要涉及到用戶帳號的添加、修改和刪除。
添加用戶帳號就是在系統中建立一個新帳號,而後爲新帳號分配用戶號、用戶組、主目錄和登陸Shell等資源。剛添加的帳號是被鎖定的,沒法使用。
CentOS 7 和其餘版本的Linux同樣,都具備相應用戶的配置文件及目錄
/etc/passwd //用戶帳戶信息,能夠看出用戶名稱
/etc/shadow //用戶帳戶加密後信息,包括但不限於/etc/passwd中的信息
/etc/group //組帳戶信息,能夠看出組名稱
/etc/gshadow //組帳戶安全信息,包括但不限於/etc/group中的信息
/etc/default/useradd //帳戶建立時默認值
/etc/skel/ //包含默認文件的目錄,具體做用尚不清楚
/etc/login.defs //安全性的默認配置,與上面/etc/default/useradd有區別
咱們看一下比較重要的配置文件/etc/default/useradd,內容以下:
# useradd defaults file
GROUP=100 //起始GID值
HOME=/home //家目錄位置
INACTIVE=-1 //有效時間,負值爲永久,正數表明天數
EXPIRE=
SHELL=/bin/bash //shell路徑
SKEL=/etc/skel //默認配置文件路徑
CREATE_MAIL_SPOOL=yes //是否建立郵件池,具體做用待之後學習
一、添加新的用戶帳號使用useradd命令,其語法以下:
useradd 選項 用戶名
參數說明:
選項:
-b, --base-dir BASE_DIR 新帳戶的主目錄的基目錄
-c, --comment COMMENT 新帳戶的 GECOS 字段
-d, --home-dir HOME_DIR 新帳戶的主目錄
-D, --defaults 顯示或更改默認的 useradd 配置
-e, --expiredate EXPIRE_DATE 新帳戶的過時日期
-f, --inactive INACTIVE 新帳戶的密碼不活動期
-g, --gid GROUP 新帳戶主組的名稱或 ID
-G, --groups GROUPS 新帳戶的附加組列表
-h, --help 顯示此幫助信息並推出
-k, --skel SKEL_DIR 使用此目錄做爲骨架目錄
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默認值
-l, --no-log-init 不要將此用戶添加到最近登陸和登陸失敗數據庫
-m, --create-home 建立用戶的主目錄
-M, --no-create-home 不建立用戶的主目錄
-N, --no-user-group 不建立同名的組
-o, --non-unique 容許使用重複的 UID 建立用戶
-p, --password PASSWORD 加密後的新帳戶密碼
-r, --system 建立一個系統帳戶
-R, --root CHROOT_DIR chroot 到的目錄
-s, --shell SHELL 新帳戶的登陸 shell
-u, --uid UID 新帳戶的用戶 ID
-U, --user-group 建立與用戶同名的組
-Z, --selinux-user SEUSER 爲 SELinux 用戶映射使用指定 SEUSER
指定新帳號的登陸名。
最簡單的建立用戶
執行以下命令:
useradd test
passwd test #添加密碼
這樣一個用戶名爲test的用戶已經建立好了。咱們看一下屬性。
執行命令:id test //查看用戶信息
咱們發現test的uid=1000,gid=1000,位於test用戶組,說明缺參數的新建用戶,會默認新建一個與用戶名同名的用戶組並加入其中,咱們也注意到UID、GID的值與默認的配置文件中保持一致,可見配置文件是生效的,一樣也能夠再新建一個用戶,看一下UID、GID的值,會看到是1001.能夠嘗試一下。咱們能夠切到/home目錄下,會看到用戶目錄,與配置文件設定一致。
例題:新建一個UID=501,GID=600,30天有效期,家目錄爲/home/test5的用戶test4.
命令 :
groupadd -g 600 test3 //建立GID=600的用戶組test3
useradd -u 501 -g 600 -f 30 -m -d /home/test5 test4
當咱們再次打開用戶文件/etc/passwd或者id test4會看到咱們本身的配置。
實例1
# useradd –d /usr/sam -m sam
此命令建立了一個用戶sam,其中-d和-m選項用來爲登陸名sam產生一個主目錄/usr/sam(/usr爲默認的用戶主目錄所在的父目錄)。
實例2
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一個用戶gem,該用戶的登陸Shell是 /bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。
這裏可能新建組:#groupadd group及groupadd adm
增長用戶帳號就是在/etc/passwd文件中爲新用戶增長一條記錄,同時更新其餘系統文件如/etc/shadow, /etc/group等。
Linux提供了集成的系統管理工具userconf,它能夠用來對用戶帳號進行統一管理。
二、刪除賬號
若是一個用戶的帳號再也不使用,能夠從系統中刪除。刪除用戶帳號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。
當咱們建立用戶/組有錯誤時,可能會刪除用戶/組,而後再從新建立。咱們使用userdel命令來刪除用戶。
執行命令:
[root@localhost home]# userdel test
[root@localhost home]# useradd test
useradd:警告:此主目錄已經存在。
不從 skel 目錄裏向其中複製任何文件。
正在建立信箱文件: 文件已存在
出現這個問題是由於咱們刪除用戶時,系統爲了安全起見並無刪除相關的文件以及目錄。
咱們查看一下userdel參數:
-f, --force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
-h, --help 顯示此幫助信息並推出
-r, --remove 刪除主目錄和郵件池
-R, --root CHROOT_DIR chroot 到的目錄
-Z, --selinux-user 爲用戶刪除全部的 SELinux 用戶映射
刪除一個已有的用戶帳號使用userdel命令,其格式以下:
3、修改賬號
修改用戶帳號就是根據實際狀況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登陸Shell等。
修改已有用戶的信息使用usermod命令,其格式以下:
usermod 選項 用戶名
經常使用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項同樣,能夠爲用戶指定新的資源值。
另外,有些系統可使用選項:-l 新用戶名
禁止登陸:
usermod -s /sbin/nologin test //-s 指定shell
修改用戶名:
usermod -l test88 test //-l 新的用戶名
這個選項指定一個新的帳號,即將原來的用戶名改成新的用戶名。
例如:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令將用戶sam的登陸Shell修改成ksh,主目錄改成/home/z,用戶組改成developer。
四、用戶口令的管理
用戶管理的一項重要內容是用戶口令的管理。用戶帳號剛建立時沒有口令,可是被系統鎖定,沒法使用,必須爲其指定口令後纔可使用,即便是指定空口令。
指定和修改用戶口令的Shell命令是passwd。超級用戶能夠爲本身和其餘用戶指定口令,普通用戶只能用它修改本身的口令。命令的格式爲:
passwd 選項 用戶名
可以使用的選項:
-l 鎖定口令,即禁用帳號。
-u 口令解鎖。
-d 使帳號無口令。
-f 強迫用戶下次登陸時修改口令。
若是默認用戶名,則修改當前用戶的口令。
例如,假設當前用戶是sam,則下面的命令修改該用戶本身的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
若是是超級用戶,能夠用下列形式指定任何用戶的口令:
# passwd sam
New password:*******
Re-enter new password:*******
普通用戶修改本身的口令時,passwd命令會先詢問原口令,驗證後再要求用戶輸入兩遍新口令,若是兩次輸入的口令一致,則將這個口令指定給用戶;而超級用戶爲用戶指定口令時,就不須要知道原口令。
爲了系統安全起見,用戶應該選擇比較複雜的口令,例如最好使用8位長的口令,口令中包含有大寫、小寫字母和數字,而且應該與姓名、生日等不相同。
爲用戶指定空口令時,執行下列形式的命令:
# passwd -d sam
此命令將用戶sam的口令刪除,這樣用戶sam下一次登陸時,系統就再也不詢問口令。
passwd命令還能夠用-l(lock)選項鎖定某一用戶,使其不能登陸,例如:
# passwd -l sam
每一個用戶都有一個用戶組,系統能夠對一個用戶組中的全部用戶進行集中管理。不一樣Linux 系統對用戶組的規定有所不一樣,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在建立用戶時同時建立。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增長、刪除和修改實際上就是對/etc/group文件的更新。
一、增長一個新的用戶組使用groupadd命令。其格式以下:
groupadd 選項 用戶組
可使用的選項有:
-g GID 指定新用戶組的組標識號(GID)。
-o 通常與-g選項同時使用,表示新用戶組的GID能夠與系統已有用戶組的GID相同。
實例1:
# groupadd group1
此命令向系統中增長了一個新組group1,新組的組標識號是在當前已有的最大組標識號的基礎上加1。
實例2:
# groupadd -g 101 group2
此命令向系統中增長了一個新組group2,同時指定新組的組標識號是101。
二、若是要刪除一個已有的用戶組,使用groupdel命令,其格式以下:
groupdel 用戶組
例如:
# groupdel group1
此命令從系統中刪除組group1。
三、修改用戶組的屬性使用groupmod命令。其語法以下:
groupmod 選項 用戶組
經常使用的選項有:
-g GID 爲用戶組指定新的組標識號。
-o 與-g選項同時使用,用戶組的新GID能夠與系統已有用戶組的GID相同。
-n新用戶組 將用戶組的名字改成新名字
實例1:
# groupmod -g 102 group2
此命令將組group2的組標識號修改成102。
實例2:
# groupmod –g 10000 -n group3 group2
此命令將組group2的標識號改成10000,組名修改成group3。
4.身份切換
su命令讓用戶切換用戶(switch user)ID
[yxkong@localhost ~]$ su –help
su命令經過經常使用字符串調用,例如:su-,指明用戶應該做爲新用戶有效登陸。
例如:
su 用戶名 只是臨時使用對應的用戶的Shell,用完後直接 su 當前登陸名能夠退回來
[yxkong@localhost ~]$ su root
密碼:
[root@localhost yxkong]# #新Shell稱爲用戶root的Shell,在這個shell上啓動的任何進程都屬於root,這個Shell稱爲非登陸Shell。root並無徹底登陸,
su – 用戶名 該用戶做爲新用戶徹底登陸,和原來的用戶沒有任何關係了
五、若是一個用戶同時屬於多個用戶組,那麼用戶能夠在用戶組之間切換,以便具備其餘用戶組的權限。
用戶能夠在登陸後,使用命令newgrp切換到其餘用戶組,這個命令的參數就是目的用戶組。例如:
$ newgrp root
這條命令將當前用戶切換到root用戶組,前提條件是root用戶組確實是該用戶的主組或附加組。相似於用戶帳號的管理,用戶組的管理也能夠經過集成的系統管理工具來完成。
6.newgrp命令,也稱做sg,讓用戶切換主要組(switch primary group)ID
用法:
[yxkong@localhost ~]$ sg --help
用法:sg 組 [[-c] 命令]
[yxkong@localhost ~]$ id
uid=1000(yxkong) gid=1000(yxkong) 組=1000(yxkong),0(root),10(wheel) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[yxkong@localhost ~]$ sg root