10-Linux基礎入門(八)-文件和目錄的屬性及權限之用戶與組和時間戳基礎
Linux是一個多用戶、多任務的操作系統,對於Linux系統來說,由於角色不同,權限和所完成的任務也不同。用戶的角色是通過UID和GID識別的,用戶的UID就相當於我們的身份證一樣,用戶名就相當於我們的名字。其中包含:
UID(User Identity),用戶ID,相當於各位的身份證,在系統中是唯一的。
GID(Group Identity),組ID,相當於各位的家庭或者你們的學校ID。
二、用戶
1、超級用戶
默認是root用戶,其UID和GID均為0。root用戶在每臺Linux操作系統中都是唯一且真實存在的,通過他可以登錄系統,可以操作系統,可以操作系統中任何文件和命令,擁有最高的管理權限。
在生產環境中,一般會禁止root賬號通過SSH遠程連接服務器,也可以通過更改默認的SSH端口來增強系統安全。
2、普通用戶
是具備系統管理員root的權限的運維或系統管理人員添加的,這樣的用戶可以登錄,但是權限很小。他可以操作自己的家目錄裏的文件,別的幹不了。
3、虛擬用戶
與真實普通用戶區分開來,這類用戶最大的特點是安裝系統後默認就會存在,且默認情況大多數不能登錄系統。
補充:Linux安全優化
①安裝系統後可以刪除用不到的虛擬用戶,但最好不刪而是註釋掉,萬一出問題可以恢復過來。
②我們自己部署服務的時候,也會創建虛擬用戶,滿足服務的需求。
例如:apache、nginx、mysql、nfs、rsync、nagios、zabbix、redis
4、Linux系統中不同用戶角色對應的UID說明
0 超級用戶
1-499 虛擬用戶
500-65535 普通用戶
三、用戶組
每個用戶也要屬於一個組,如果用戶沒添加組就是跟用戶相同名稱的組,用戶與組的關系分為一對一、一對多、多對一、多對多。
四、用戶和組的配置文件
1、用戶配置文件/etc/passwd
/etc/passwd文件中每行定義一個用戶賬號,有多少行就表示多少個賬號,在一行中可以清晰的看出,各內容之間用通過“:”號劃分了多個字符,共7部分,這7部分分別定義了賬號的屬性,passwd文件實際內容如下:
[root@centos ~]# head -5 /etc/passwd #通過head命令查看/etc/passwd的前5行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
每一列的意思如下:
root | :x | :0 | :0 | :root | :/root | :/bin/bash |
賬號名稱 | :賬號密碼 | :賬號UID | :賬號GID | :用戶說明 | :用戶家目錄 | :shell解釋器 |
註意:
①賬號名稱是唯一,不能重名。
②密碼由於不安全,轉到/etc/shadow裏去了。
2、用戶影子口令文件/etc/shadow
由於passwd文件必須要被所有的用戶可讀,所以會帶來安全隱患。而shadow文件就是為了解決這個安全隱患而增加的。可以通過ls -l查看/etc/shadow文件的權限。
[root@centos ~]# ls -l /etc/shadow
----------. 1 root root 699 2月 5 04:28 /etc/shadow
小結論:
①useradd是添加用戶命令,它會更改/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow。
②passwd是設置用戶密碼命令,它會更改/etc/shadow。
五、與用戶組相關的配置文件
/etc/group #用戶組配置文件
/etc/gshadow #用戶組影子文件
小結論:
①groupadd添加用戶會更改/etc/group、/etc/gshadow。
②使用id 用戶名 可以查看用戶信息。
六、時間戳
1、概述
用ls -lhi可得知,第7、8、9三列是時間(默認是修改時間),一般分為三類:
modify 修改時間 -mtime 一般是修改文件內容
change 改變時間 -ctime 文件屬性改變
access 訪問時間 -atime 訪問文件內容
2、格式化顯示時間屬性
[root@centos ~]# ls -l --time-style=long-iso /root
總用量 40
-rw-------. 1 root root 1140 2018-02-05 04:28 anaconda-ks.cfg
-rw-r--r--. 1 root root 21736 2018-02-05 04:28 install.log
-rw-r--r--. 1 root root 5890 2018-02-05 04:25 install.log.syslog
3、查看文件的時間屬性
[root@centos ~]# stat /root
File: "/root"
Size: 4096 Blocks: 8 IO Block: 4096 目錄
Device: 803h/2051d Inode: 2359297 Links: 3
Access: (0550/dr-xr-x---) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-02-06 20:18:54.888133301 +0800
Modify: 2018-02-05 05:54:15.286465595 +0800
Change: 2018-02-05 05:54:15.286465595 +0800
七、其它
第10列文件名,不在inode裏,而是在上機目錄的block裏。
歡迎關註
新浪微博:https://weibo.com/yougazhang0506
微信公眾平臺:張雨嘉
我的網站:http://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195
GitHub:https://github.com/zhangyujia0506/
10-Linux基礎入門(八)-文件和目錄的屬性及權限之用戶與組和時間戳基礎