下面先來了解一下關於用戶,組的四個文件
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
首先來了解一下/etc/passwd這個文件,
這個文件只是存放用戶的信息
[root@localhost ~]#
[root@localhost ~]# cat /etc/passwd | grep user1
user1:x:500:500::/home/user1:/bin/bash
[root@localhost ~]#
這裡面總共有七個欄位,了解一下每個欄位的意義。
User1 用戶名
X 用戶的密碼位(如果這個位上面沒有這個X,就代表登陸這個用戶不需要密碼)
500 UID
500 GID
第五個是密碼的描述信息,這裡沒有。
/home/user1 用戶的/home目錄
/bin/bash 用戶的shell
在這裡有個比較特殊的shell /sbin/nologin
如果將用戶的shell改為/sbin/nologin,那麼這兒用戶只可以登陸服務,但是不可以登陸計算機。不允許交互式登陸。
再來了解一下/etc/shadow這個文件,
這個文件主要是用來保存用戶的密碼信息和策略。
[root@localhost ~]#
[root@localhost ~]# cat /etc/shadow | grep user1
user1:$1$2WJEp9K7$h.NRfJsaEm8VMksBQHZm7.:14668:0:99999:7:::
[root@localhost ~]#
現在來了解一下每個欄位的意義
User1 用戶名
第二個欄位是保存用戶的密碼,這個密碼是經過MD5的加密的。
如果密碼位前面有個!,就代表這個用戶被鎖定了。
14668 密碼最後一次修改的時間
0 密碼最少的存活期(為0代表用戶可以隨時更改密碼)
99999 密碼過期時間(99999代表密碼永不過期)
7 密碼過期警告天數(在密碼過期的前七天警告用戶)
再來了解一下/etc/group這個文件,
這個文件主要是用於存放組的信息。
[root@localhost ~]#
[root@localhost ~]# cat /etc/group | grep user1
user1:x:500:
[root@localhost ~]#
現在來了解一下每個欄位的意義
User 組的名字
X 組的密碼位
500 GID
可以將用戶直接添加到冒號後面,就代表加入了這個組。
最後來了解一下/etc/gshadow這個文件,
這個文件主要是保存組密碼的信息。
[root@localhost ~]#
[root@localhost ~]# cat /etc/gshadow | grep user1
user1:!::
[root@localhost ~]#
User 組的名字
可以看到,這個組默認是沒有密碼的,現在我們給它設置一個密碼。
[root@localhost ~]#
[root@localhost ~]# gpasswd user1
Changing the password for group user1
New Password:
Re-enter new password:
[root@localhost ~]# cat /etc/gshadow | grep user1
user1:$1$ZxvTf/dQ$DWmf//MTxpwJIzTZIcYQZ/::
[root@localhost ~]#
可以看到,組現在也有了一個密碼,而且也是經過MD5加密的。
下面來看下組的密碼有什麼意義。
[root@localhost ~]#
[root@localhost ~]# useradd user2
[root@localhost ~]#
[root@localhost ~]# su – user2
[user2@localhost ~]$
[user2@localhost ~]$ newgrp user1
Password:
[user2@localhost ~]$ id
uid=501(user2) gid=500(user1) groups=500(user1),501(user2)
[user2@localhost ~]$
可以看到,我們user2現在加入到了user1,變成了user1組裡面的成員,也就是說組密碼的意義在於,一個普通用戶只要有組的密碼,就可以加入到這個組裡面來,成為這個組裡面的成員。
用戶管理工具
Useradd 添加用戶
#useradd user1(用戶名)
[root@localhost ~]#
[root@localhost ~]# useradd user1
[root@localhost ~]#
[root@localhost ~]# id user1
uid=502(user1) gid=502(user1) groups=502(user1)
[root@localhost ~]#
User1就添加成功了。
Usermod 修改用戶
Userdel 刪除用戶
#userdel -r user1(用戶名)
[root@localhost ~]#
[root@localhost ~]# userdel -r user1
[root@localhost ~]#
[root@localhost ~]# id user1
id: user1: No such user
[root@localhost ~]#
User1就成功刪除了
-r 在刪除用戶的同時刪除用戶的/home目錄。
關於監視登陸的工具
#w
[root@localhost ~]# w
15:27:32 up 15:31, 3 users, load average: 0.81, 0.25, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 - 21Feb10 ?xdm? 3:07 0.30s /usr/bin/ gnome-
root pts/2 :0.0 15:27 0.00s 0.06s 0.01s w
root pts/1 192.168.0.20 15:27 13.00s 0.05s 0.05s - bash
[root@localhost ~]#
可以看到192.168.0.20正在連接我。
#last
[root@localhost ~]#
[root@localhost ~]# last
root pts/2 station20.exampl Sun Feb 28 15:32 still logged in
root pts/1 :0.0 Sun Feb 28 15:31 still logged in
root pts/2 :0.0 Fri Feb 26 17:21 – 00:32 (1+07:10)
root pts/1 :0.0 Mon Feb 22 23:07 – 21:46 (3+22:38)
root pts/2 :0.0 Mon Feb 22 18:31 - 23:07 (04:36)
root pts/2 :0.0 Mon Feb 22 14:33 - 14:33 (00:00)
root pts/1 :0.0 Sun Feb 21 17:33 - 18:31 (1+00:57)
root pts/1 :0.0 Sun Feb 21 17:28 - 17:33 (00:04)
root pts/1 :0.0 Sun Feb 21 13:30 - 17:28 (03:57)
root :0 Sun Feb 21 13:30 still logged in
root :0 Sun Feb 21 13:30 – 13:30 (00:00)
reboot system boot 2.6.18-164.el5 Sun Feb 21 13:29 (7+02:03)
root pts/1 :0.0 Sun Feb 21 21:22 – down (-7:-54)
root :0 Sun Feb 21 21:21 – down (-7:-54)
root :0 Sun Feb 21 21:21 – 21:21 (00:00)
reboot system boot 2.6.18-164.el5 Sun Feb 21 21:17 (-7:-50)
reboot system boot 2.6.18-164.el5 Sun Feb 21 21:14 (00:02)
wtmp begins Sun Feb 21 21:14:07 2010
[root@localhost ~]#
曾經有那些用戶登陸過我的計算機。並且在我計算機上面登陸了多久,很多東西都可以查看的到。
#lastb
[root@localhost ~]#
[root@localhost ~]# lastb
root ssh:notty www.google.com. Mon Feb 22 15:50 – 15:50 (00:00)
root ssh:notty www.google.com. Mon Feb 22 15:50 – 15:50 (00:00)
root ssh:notty www.google.com. Mon Feb 22 15:50 – 15:50 (00:00)
btmp begins Mon Feb 22 15:50:50 2010
[root@localhost ~]#
這條命令顯示的結果是那些計算機曾經登錄過我的計算機,但是沒有登錄成功的計算機。只會顯示沒有登錄成功的信息,並且它們是使用的什麼方法嘗試連接我的計算機,這裡面都很詳細。
默認權限(defaults perm)
默認的時候,我們在創建文件和目錄的時候,並不是繼承了上級目錄的權限,而是根據目錄和文件的UMASK值來決定的。
關於UMASK值
就是用來定義文件的默認權限的
如何在系統查詢UMASK值呢?
#umask
[root@localhost ~]#
[root@localhost ~]# umask
0022
[root@localhost ~]#
可以看到,系統中的umask值為0022
當然這個umask也是可以修改的
#umask 0033
[root@localhost ~]#
[root@localhost ~]# umask 0033
[root@localhost ~]#
[root@localhost ~]# umask
0033
[root@localhost ~]#
系統的umask值被我們改成0033了。
Umask是怎麼定義目錄和文件的權限的
對於不同用戶,umask定義都不一樣。
對於root uamsk值為022
對於普通用戶 umask值為002
那麼我們在創建目錄和文件的時候默認權限是多少呢。
對於root 目錄 777-022 755
文件 666-022 644
對於普通用戶 目錄 777-002 775
文件 666-002 664
這就是我們的創建目錄和文件的默認權限。
注意 :我們在用最高權限減umask值的時候一定是用二進制的數值來減,而不是十進制的數值來減。
[root@localhost ~]#
[root@localhost ~]# umask
0022
[root@localhost ~]# mkdir test
[root@localhost ~]# to