linux(centos)用戶與權限

1.用戶管理

2.用戶組

3.權限分配

 

一、查看與用戶相關文件命令:

1.cat

2.more

3.head /etc/passwd    #查看文件的前十行

4.head -2 /etc/passwd #查看文件的前兩行

5.tail /etc/passwd    #查看文件的後十行

6.tail -f /etc/passwd #實時跟蹤文件的後十行

6.tail -2 /etc/passwd #查看文件的後兩行

7.wc -l /etc/passwd   #顯示文件的行數

8.nl /etc/passwd      #直接打印文件內容並且顯示行號

linux(centos)用戶與權限

Root  X 0 0 root /root :/bin/bash

 

用戶名:用戶名不要太長。Niejunzhong  - njz

X 密碼位 保留,以前的linux存放密碼

Uid  用戶的標識符

Gid  缺省組標識號  系統默認創建同名組

描述信息  註釋性描述

宿主目錄   用戶登錄後的缺省目錄

命令解釋器   用戶使用的shell 默認 bash

 

密碼文件shadow

Etc/passwd 每個用戶都有讀權限。早些密碼放置在密碼位。

Man -5 shadow

linux(centos)用戶與權限

登錄名加密密碼:最後一次修改的時間:最小時間間隔:最大時間間隔:警告時間:賬號閒置時間:失效時間:標誌。

 

時間:1969年肯.湯瑪斯開發出unix雛形 業界認爲linux誕生1970 11

 Root 超級用戶 缺省沒有寫權限,照樣可以進行修改或刪除。

 

Pwconv 密碼回寫      密碼先寫入passwd 再轉換到shadow

 

Passwd命令   ls -l  /usr/bin/passwd

爲什麼普通用戶可以更改密碼?

linux(centos)用戶與權限

linux(centos)用戶與權限

 

SetUID的定義:當一個可執行程序具有SetUID權限,用戶執行這個程序時,將以這個程序的所有者的身份執行。

Passwd的所有者是root 所有普通用戶在更改密碼時是變成root所有者來執行這個命令的。

 

修改用戶配置文件添加用戶(原理)

Username   /etc/passwd

Password   /etc/shadow

1、vi /etc/passwd    用戶名 密碼 uid gid 描述 宿主目錄 shell

linux(centos)用戶與權限

2、Mkdir  創建宿主目錄    給予權限  chown 用戶  目錄

linux(centos)用戶與權限

3、Vi /etc/shadow

linux(centos)用戶與權限

此時 可以登錄 命令提示符不同

linux(centos)用戶與權限

4、cd /etc/skel 裏面全是隱藏文件 ls -a

linux(centos)用戶與權限

5、Cp skel裏的文件到 新用戶的宿主目錄

linux(centos)用戶與權限linux(centos)用戶與權限linux(centos)用戶與權限



 

用戶配置文件 /etc/

Login.defs  配置郵件  最大時間間隔 最小時間間隔(root不限定) 自動創建目錄 Umask

Etc/default/useradd  宿主目錄缺省目錄 賬號是否被禁用 賬號失效時間

 

登錄信息

登錄前:etc/issue   避免暴露系統版本信息

linux(centos)用戶與權限

登錄後:/etc/motd  內部信息   wall廣播

 

用戶類別:

Linux 用戶分爲三種

超級用戶 root     uid=0

普通用戶          uid 500-60000

僞用戶:          uid 1-499

 

Uid0的用戶叫做超級用戶,命令提示符前  []#  ls

linux(centos)用戶與權限

 

僞用戶

1、僞用戶與系統和程序服務相關

Binbaemonshutdownhalt等,任何linux系統默認都有這些僞用戶

Mailnewsgamesapacheftpmysqlsshd等,與linux系統的進程相關。

2、僞用戶通常不需要或無法登陸系統

3、可以沒有宿主目錄

 

二、用戶管理:

1.新建用戶

useradd user1

2.刪除用戶

userdel -r user1

3.修改密碼

1)passwd user1

2)echo 123|passwd --stdin user1

4.查看用戶

id user1

 

三、用戶影響文件

如果用戶用userdel刪除,可以通過刪除下面影響文件來刪除、來新建。

1)/etc/passwd

2)/etc/shadow

3)/etc/group

4)/var/spool/mail

5)/home

 

1)/etc/passwd用戶屬性

user1:x:500:500::/home/user1:/bin/bash

    1-1)用戶名

    1-2)用戶密碼所在的文件/etc/shadow

    1-3)用戶uid

    1-4)用戶所屬組的gid

    1-5)用戶描述

    1-6)用戶家目錄

    1-7)用戶登錄shell

用戶分類

    1-1)超級用戶

    1-2)系統用戶

    1-3)普通用戶

2./etc/shadow

1)加密方法:grub-md5-crypt

2)!! 說明該用戶沒有密碼

3)!$$$$ 說明該用戶被鎖定

 

3./etc/group

user1:x:500:

組名:組密碼位:

 

4./home

1)user1的家目錄

/home/user1

2)刪除用戶

userdel -r user1

#如果userdel user1刪除,會留下用戶家目錄和用戶郵箱

 

5.管理用戶命令-usermod

1)鎖定一個用戶

usermod -L user1

2)解鎖一個用戶

usermod -U user1

3)鎖定用戶後/etc/shadow

!$1$Ttyif4Oi$piuprg8yV9.FGc4MzA4EP0

#密碼前面會出現一個!

 

 

四、組管理:

1.新建組

groupadd grp1

2.刪除組

groupdel grp1

3.用戶與組管理:

1.把用戶加入組

1).usermod -g grp1 user1

2).usermod -G grp1 user1

3).gpasswd -a user1 grp1

#把用戶user1加入組grp1

2.把用戶從組刪除

1).gpasswd -d user1 grp1

#把用戶user1grp1組中刪除

 

 

其他用戶命令:

Finger 用戶   那臺主機登錄、什麼時間登錄、有沒有郵件和計劃任務

Su 用戶 切換用戶

Passwd -S 用戶 查看用戶的密碼狀態。

Whow 查看當前用戶

批量添用戶命令 循環+ echo ‘12345’ |passwd --stdin user

Gpasswd -a user1 grap1

Gpasswd -d user1 grp1

 

五、用戶與文件的關係-權限:

 

1.chmod

2.chown

3.setuid

4.setgid

5.sudo

6.acl

 

 

1.chmod授權方法

1)chmod 755 /mnt

2)chmod a+x file

3)umask 文件權限掩碼,由它決定文件夾權限是755,文件權限是       644

4)查看單個目錄本身的權限

ls -ld mnt/

5)在當前終端切換用戶

su - user1

 

2.chown改變所有者和所屬組

chown user4 test

#改變所有者爲user4

chown :user4 test

#改變所屬組爲user4

chown user4:user4 test

#同時改變所有者和所屬組

 

3.SetUID

操作對象:執行程序

-rwxr-xr-x  root root file

-rwsr-xr-x  root root file

查找setuid程序  find / -perm -4000 -o -perm -2000

作用:一個執行命令一旦加了s位,其他所有人執行時都是以該命令的所有者的身份在執行.

如何加s:

1) chmod u+s /bin/touch

2) chmod 4755 /bin/touch

4 2 1 setuid setgid t

 

4.setgid

操作對象:文件夾

作用:對目錄設置setgid,目錄下的子文件夾也繼承父文件夾的gid    權限

chmod g+s test

chmod 2755 test

 

5.t 粘作位

操作對象:目錄的權限是777

作用:在一個公共的文件夾內自己只能刪除自己的東西

chmod o+t /tmp

chmod 1777 /tmp

 

6.sudo授權

1)echo $PATH

#這個環境變量決定了你能在哪些路徑下直接找到執行程序

2)設置sudo

    2-1)visudo

    2-2)vi /etc/sudoers

#不推薦第二種方法

user1   localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart

3)!str #執行歷史中離你最近一次以str開頭的命令

 

7.acl授權

1)設置權限

setfacl -m u:user1:rwx /test

2)查看權限

getfacl /test

3)刪除user1/test上的權限

setfacl -x u:user1 /test

4)刪除/test上的所有acl權限

setfacl -b /test

5)設置acl的默認權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章