一、基本介紹
Linux使用者分為三類,即普通使用者、根使用者、系統使用者。
普通使用者指的是所有使用Linux系統的真實使用者。
根使用者就是root使用者,權限最大,它的ID為0,也被稱為超級使用者,root使用者擁有對系統絕對的控制權:可以修改、删除、運作任何檔案。是以從另外一方面來說,它也是最危險的。
系統使用者是指系統運作時必須有的使用者,并不是指真實的使用者。
比如在RedHat或CentOS下運作網站服務時,需要使用系統使用者apache來運作httpd程序,而運作mysql資料庫服務時,需要使用系統使用者mysql來運作mysqld程序。
通過ps aux指令可以檢視系統使用者程序。
ls -l 檔案名 可以檢視該檔案權限
ls -l (在不加檔案名的前提下可以檢視所有檔案權限)
id 可以檢視自己的UID
groups 可以确認自己所在的組
who 查詢目前線上使用者
二、賬号管理
新增使用者: useradd 使用者名
修改密碼 :passwd 使用者名修改或者直接passwd (注意前者密碼設定很簡單,可通過,後者密碼如果設定過于簡單,會導緻設定失敗)
修改使用者:usermod
例如:
[root@Cfhost-170820-UCNK ~]# useradd tom
[root@Cfhost-170820-UCNK ~]# passwd tom
Changing password for user tom.
New password:
Retype new password:
Sorry, passwords do not match.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
//檢視使用者tom在/etc/passwd中的記錄,冒号隔開的是使用者tom的新家目錄
[root@Cfhost-170820-UCNK ~]# cat /etc/passwd | grep tom
tom:x:559:559::/home/tom:/bin/bash//如果希望修改家目錄為/home/tom_new,可以使用以下指令
[root@Cfhost-170820-UCNK ~]# usermod -d /home/alice_new -m alice
usermod: directory /home/alice_new exists
[root@Cfhost-170820-UCNK ~]# usermod -d /home/tom_new -m tom
[root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom
tom:$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkO
wuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::
[root@Cfhost-170820-UCNK ~]# usermod -L tom//當機該使用者
//執行下列指令時,你會發現第二列多了一個感歎号,使用usermo -U tom指令可以解當機
[root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom
tom:!$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkOwuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::
删除使用者:userdel 使用者名
userdel tom 該指令将會删除tom在/etc/passwd和/etc/shadow中的記錄,但是并不會删除原來使用者的家目錄和郵件資訊。可以使用userdel -r 使用者名 來達到徹底删除的目的。
新增和删除使用者
groupadd 組名 #新增組
groupdel 組名 #删除組
檢查使用者資訊:
users 檢視目前有哪些使用者
who 檢視線上使用者
w 可以檢視使用者更加詳細的資訊(包括登入時間、ip位址等)
調查使用者:finger
finger指令在不加任何參數的情況下,同樣會顯示系統的登入使用者,如下圖所示
Login Name Tty Idle Login Time Office Office Phone
root root pts/0 38 Nov 6 19:04 (183.240.196.151)
root root pts/1 21 Nov 6 19:29 (183.240.196.151)
root root pts/2 Nov 6 19:46 (183.240.196.151)
root root pts/3 21 Nov 6 19:46 (183.240.196.151)
補充:如果在finger 使用者名 會顯示該使用者名更加詳細的資訊
切換使用者:
su 指令單獨使用直接切換為root使用者
su - 使用者名 切換到該使用者
注意:使用su指令雖然友善,但還是存在缺陷,就是切換到其他使用者時,需要知道該使用者的密碼,如果需要切換到root,那就需要知道root的密碼。我們知道root是系統中1權限最高的使用者,如果讓太多人知道root密碼是非常不安全的,是以我們建議使用sudo。
例行任務管理
單一時刻執行一次任務:at
例如: at now + 10 munutes
//30分鐘後關機
atq檢視目前使用at指令排程的任務清單
atrm 删除已經進入任務隊列的任務
周期性執行任務:cron
crontab -l 檢視設定的任務
crontab -r 删除所有任務
crontab -u 使用者名 -l //檢視該使用者任務清單