linux 用戶管理


 

用戶信息:/etc/passwd 用man查看配置文件  ------  man 5 passwd文件
密碼文件:/etc/shadow 

用戶配置文件:/etc/login.defs        添加用戶的缺省用戶信息
             /etc/default/useradd    添加用戶的缺省用戶信息
/etc/issue  用戶登錄之前的提示信息
/etc/motd   用戶登錄之后的提示信息
             
 cat /etc/shells  查看系統中的shell             
             
wc -l /etc/passwd 統計用戶個數

用戶名:最好字母 ,沒有特殊要求
密碼:密碼位,實際沒有存放密碼
UID:
GID:
注釋性描述
宿主目錄
命令解釋器

默認uid = 500
用戶分為3種:
超級用戶:(root,uid = 0)
普通用戶:(uid 500-60000)
偽用戶:(uid 1-499)   /sbin/nologin  

偽用戶--為了安全

linux中任何一個命令的操作都必須有一個用戶的身份
偽用戶一般和系統或者程序服務相關
bin,daemon,shutdown ,halt  linux默認都有這些偽用戶
偽用戶通常不需要或無法登陸系統
可以沒有宿主目錄

gid:組id
添加一個用戶肯定會有一個隸屬的組  即使不指定,也會默認指定一個組

每個用戶都至少屬於一個用戶組
每個用戶組可以包括多個用戶
同一個組的用戶享有改組公共的權限

window中會存在一個用戶組屬於另一個組,但linux中不可以這樣    

echo "123456"|md5sum

經常改變密碼 服務器隔離

刪除shadow中的密文部分,用戶就不在需要密碼了

最小時間間隔 :
最大時間間隔 :到時間必須更改密碼

pwconv    passwd 轉到 shadow            /sbin/nologin  【無法登陸】
pwunconv  會寫回去

unix中不提供pwunconv命令

新添加用戶的缺省配置:
    /etc/login.defs
    /etc/default/useradd
    
登錄信息:/etc/motd(登錄成功才顯示)        /etc/issue(是否登錄成功都顯示)
    
手工添加用戶
1、/etc/passwd添加一行 :密碼沒有可以設置為空
2、/etc/shadow  拷貝一行,密碼如果沒有可以設置為空
3、添加宿主目錄,注意把宿主目錄的所有者給用戶
3、新用戶信息文件   /etc/skel  用useradd命令添加的時候會自動拷貝到宿主目錄下面

當一個程序具有setuid的權限,用戶執行這個程序的時候,將以這個程序的所有者的身份執行,linux命令大部分的所有者為root,

也就說當用戶執行一個具有setuid的命令的是時候會瞬間轉換成管理員的身份,命令執行完畢后在轉換成普通用戶

設置setuid權限:
setuid=4 
所有者

chmod   u+s   /bin/touch
        4755  /bin/touch
           
chmod   u-s   /bin/touch
        755    
        
setgid=2
chmod g+s /g-s
      2755
      
      6755 同時授予setuid + setgid

#查找系統當前有setuid和setgid的文件
find / -perm -4000 -o -perm -2000  

0 表示不限制
-o  or  或者的意思

粘着位: 1 ls -ld /tmp/ 
/tmp 目錄默認具有黏着位的屬性

應用對於 目錄是777的權限增加黏着位
    每個用戶都可以創建文件,但只可以刪除自己創建的文件,
    對於不是777的目錄設置黏着位沒有意義,對文件設置黏着位也沒有意義

chmod  o+7
       1777

用戶組配置文件:/etc/group  man 查看信息
組名:組密碼位:  作用:可以讓不是這個組的成員切換到這個組,為了安全一般不用這個功能
GID;
組內用列表

添加組:groupadd 組名
        groupadd -g 組id 組名
        

useradd -D 查看添加用時的默認信息 即查看/etc/default/useradd文件

-u 指定uid  必須是系統中不存在的
-g 指定所屬的組
-G 指定用戶所屬的多個組
-d 宿主目錄
-s 指定的shell
-c 描述信息 當描述信息有空格的時候必須用戶引號引起來
-e 指定用戶的實效時間

useradd -u 888 -g webadmin -G sys,root -d /backup -s /bin/bash -c "描述" -e 2011-01-05 用戶名

改用戶名:usermod -l new old
改變用戶所屬於的組

usermod -G 組名 用名  #改變所屬組(一個用戶可以屬於多個組) 查看/etc/group
usermod -g 組名 用名  #改變默認組  查看/etc/passwd

gpasswd(所有的linux os) 設置組密碼,及管理組成員

#設置組密碼同時管理組內的成員
gpasswd -a 用戶名 組名  --添加
gpasswd -A 用戶名 組名  #提升此用戶為管理員
gpasswd -d 用戶名 組名  --刪除
gpasswd  組名 #給組設置一個密碼
gpasswd -r  組名  刪除組密碼
gpasswd -R 禁止用戶設置為該組
/etc/gshadow  組密碼配置文件
grpconv  grpunconv 類似密碼那個

轉化過去以后好多對組操作的功能就不可用了,必須在轉化回來

切換到組: newgrp 組名
在用id查看現在屬於哪個組

groups [組名] #查看用戶隸屬於哪個組
id:查看用戶id和組信息
finger:查看用詳細信息


groupadd 組名  #添加組
groupdel 組名(不能刪除是用戶默認組的組) #刪除組
groupmod -n new_name old_name #更換組名

pwck 檢測/etc/passwd文件(鎖定文件)  檢測文件錯誤信息

當用戶出現異常的情況時可以用此命令  錯誤行會提示

vim 打開文件時不會鎖定文件  vipw(打開passwd文件時會鎖定文件)

tty:本地  pt/s 遠程終端
su - 會同時切換環境變量 echo $PATH


passwd -d 用戶名   刪除此用戶的密碼
passwd -S 用戶名   檢測此用戶的密碼

usermod -L  用戶名 #鎖定一個用戶 
passwd -l 用戶名 #鎖定一個用戶 

passwd -S 用戶名  查看密碼狀態
原理:鎖定后 密碼前面會多兩個!!   可以直接編輯配置文件(/etc/shadow)進行更改     刪除組也可以直接修改配置文件

usermod -U 用戶名 #解鎖一個用戶密碼
passwd -u 用戶名 #解鎖一個用戶密碼


登陸用戶信息
who(簡單)
w  (詳細)

groups 查看用戶隸屬於哪些用戶組
newgrp 切換用戶組
grpck  檢測用戶組配置文件
chgrp  修改文件所屬組
vigr   編輯/etc/group 文件(鎖定文件)

刪除用戶 userdel -r 用戶名

?其他有些文件是此用戶創建的並不能刪除

find /home -user jack
find /home -uid  uid

find /home -group 組名
find /home -gid   gid

find ./ s.sam -ok rm {} \; 找到后確認刪除?
1、對需要保留的文件    進行移動和備份
2、對不需要的文件進行刪除
3、清除用戶文件中的相關項
4、清除用戶宿主目錄

#查看用戶密碼更直觀  /etc/shadow
chage -l root    查看用戶密碼設置  
具體用法看 help 幫助

  authconfig 對應  /etc/sysconfig/authconfig 
 
 system-config-?
 
 批量添加用戶
 1、newusers 導入用戶信息
    newusers < user.info 文件格式就是密碼文件的格式
2、pwunconv
3passwd.info  格式:  用戶名:密碼
        
        a00:123456
        a01:123456
        a02:123456
        a03:123456
4、導入密碼文件:chpasswd < pass.info    
5、pwconv
————————————————————————————————————————————————————————
只有指定的用戶可以用su命令切換到管理員
1、groupadd sugroup
2、/bin/su (默認權限就有s位,) chomd 4550 /bin/su
3、改變所屬組  chgrp sugroup /bin/su
4、加入到組中  usermod -G 組名 用戶名

在執行sudo命令時,臨時成為root
不會泄露root口令
僅向用戶提供有限的命令使用權限

sudo 讓普通用戶以root身份執行命令

/etc/sudoers 配置文件  用vi直接編輯不會生效
/usr/bin/sudo
/usr/sbin/visudo

只有管理員+visudo才可以編輯配置文件

命令都要用絕對路徑(先用which查看)

sudo配置文件格式: 用戶名(組名) 主機地址=命令(絕對路徑) 多個命令用逗號分割
在sudo配置文件中給用戶權限以后 要在命令前面+sudo /usr/sbin/useradd   

注意普通用戶命令的搜索路徑: echo $PATH 

linux 中缺省每個命令的所有者都是 root

sudo -l
在用戶登錄的情況下查看被授權的命令

命令精確化 csdn2 helen=/sbin/shutdown -h now  限制命令的參數

授予一個用戶管理apache
1、編輯配置文件
2、使用apache腳本
3、更新網頁

1、設置用戶為文件的所有者  root不受任何限制,即使文件的所有者不是root
2、改變所屬組,授予組w權限
3、visudo 
________________________________________________________________________________
httpd start|restart|fullstatus|reload(重新讀取配置文件,不會影響服務)  |configtest(檢測語法錯誤)

csdn localhost=/etc/rc.d/init.d/httpd start  
_____________________________________________________________
grep DocumentRoot /etc/httpd/conf/http.conf
對目錄有寫權限就行
/var/www/html 改變所有者

——————————————————————————————————————————————————————————————
john the ripper 密碼增強工具

安裝:make  linux-x86-see2

如果不是標准的源代碼包,肯定會有幫助文檔,找下


 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM