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 #直接打印文件內容並且顯示行號
Root : X :0 :0 :root :/root :/bin/bash
用戶名:用戶名不要太長。Niejunzhong -》 njz
X: 密碼位 保留,以前的linux存放密碼
Uid 用戶的標識符
Gid 缺省組標識號 系統默認創建同名組
描述信息 註釋性描述
宿主目錄 用戶登錄後的缺省目錄
命令解釋器 用戶使用的shell 默認 bash
密碼文件shadow
Etc/passwd 每個用戶都有讀權限。早些密碼放置在密碼位。
Man -5 shadow
登錄名:加密密碼:最後一次修改的時間:最小時間間隔:最大時間間隔:警告時間:賬號閒置時間:失效時間:標誌。
時間:1969年肯.湯瑪斯開發出unix雛形 業界認爲linux誕生1970 1月1日
Root 超級用戶 缺省沒有寫權限,照樣可以進行修改或刪除。
Pwconv 密碼回寫 密碼先寫入passwd 再轉換到shadow中
Passwd命令 ls -l /usr/bin/passwd
爲什麼普通用戶可以更改密碼?
SetUID的定義:當一個可執行程序具有SetUID權限,用戶執行這個程序時,將以這個程序的所有者的身份執行。
Passwd的所有者是root 所有普通用戶在更改密碼時是變成root所有者來執行這個命令的。
修改用戶配置文件添加用戶(原理)
Username /etc/passwd
Password /etc/shadow
1、vi /etc/passwd 用戶名 密碼 uid gid 描述 宿主目錄 shell
2、Mkdir 創建宿主目錄 給予權限 chown 用戶 目錄
3、Vi /etc/shadow
此時 可以登錄 命令提示符不同
4、cd /etc/skel 裏面全是隱藏文件 ls -a
5、Cp skel裏的文件到 新用戶的宿主目錄
用戶配置文件 /etc/
Login.defs 配置郵件 最大時間間隔 最小時間間隔(root不限定) 自動創建目錄 Umask
Etc/default/useradd 宿主目錄缺省目錄 賬號是否被禁用 賬號失效時間
登錄信息
登錄前:etc/issue 避免暴露系統版本信息
登錄後:/etc/motd 內部信息 wall廣播
用戶類別:
Linux 用戶分爲三種
超級用戶 root uid=0
普通用戶 uid 500-60000
僞用戶: uid 1-499
Uid爲0的用戶叫做超級用戶,命令提示符前 []# ls
僞用戶
1、僞用戶與系統和程序服務相關
Bin、baemon、shutdown、halt等,任何linux系統默認都有這些僞用戶
Mail、news、games、apache、ftp、mysql及sshd等,與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
#把用戶user1從grp1組中刪除
其他用戶命令:
Finger 用戶 那臺主機登錄、什麼時間登錄、有沒有郵件和計劃任務
Su 用戶 切換用戶
Passwd -S 用戶 查看用戶的密碼狀態。
Who、w 查看當前用戶
批量添用戶命令 循環+ 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的默認權限