1. 程式人生 > >10-Linux基礎入門(八)-文件和目錄的屬性及權限之用戶與組和時間戳基礎

10-Linux基礎入門(八)-文件和目錄的屬性及權限之用戶與組和時間戳基礎

log 信息 p s center 新浪 shell 使用 自己的 用戶配置

一、概述

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基礎入門(八)-文件和目錄的屬性及權限之用戶與組和時間戳基礎