用戶信息:/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 3、passwd.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 如果不是標准的源代碼包,肯定會有幫助文檔,找下
