批量創建新用戶: newusers passwd格式文件 批量創建用戶,必須和/etc/passwd下的文件格式一樣
下面開始批量創建: 首先準備好一個文件:用vi命令建一個user.txt
如圖:
然后用cat user.txt
然后newusers批量創建,cat /etc/passwd查看下:
創建成功
批量修改用戶密碼: 首先編輯好一個文件 vi pass.txt
編輯好后 用命令:cat psss.txt | chpasswd , 修改成功 試下能否登錄
登陸成功 但是缺少配置文件 下面來解決這個問題
cp -r /etc/skel/. /testdir/user6/
再登錄一次試試
修改成功
用戶屬性修改:usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]] :新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a 選項,表示append;
-s SHELL :新的默認SHELL;
-c 'COMMENT' :新的注釋信息;
-d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m 選項
-l login_name: 新的名字;
-L: lock 指定用戶, 在/etc/shadow 密碼欄的增加!
-U: unlock 指定用戶,將 /etc/shadow的密碼欄的! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
刪除用戶: userdel [OPTION]… login
-r: 刪除用戶家目錄、以及郵箱
查看用戶相關的ID信息: id [OPTION]… [USER]
-u: UID
-g: GID
-G: Groups查看輔助組
-n: Name顯示出名稱 可以組合
切換用戶或以其他用戶身份執行命令: su [options…] [-] [user [args…]]
切換用戶的方式:
su UserName :非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su – UserName :登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root su 至其他用戶無須密碼;非root 用戶切換時需要密碼
換個身份執行命令: su [-] UserName -c 'COMMAND'
選項:-l –login: su -l UserName 于 相當于 su – UserName
用戶切換,家目錄沒有切換 這種方式叫做不完全切換、非登錄式切換
切換用戶,家目錄也切換 這種方式叫做完全式登錄
設置密碼:passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root 用戶權限
passwd: 修改自己的密碼;
? 常用選項:
-l: 鎖定指定用戶
-u: 解鎖指定用戶
-e: 強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天開始警告
-i inactivedays :非活動期限;
–stdin :從標準輸入接收用戶密碼;
echo " PASSWORD " | passwd –stdin USERNAME
創建組: groupadd [OPTION]… group_name
-g GID: 指明GID 號;[GID_MIN, GID_MAX]
-r: 創建系統組;
CentOS 6: ID<500
CentOS 7: ID<1000
修改和刪除組:
組屬性修改:groupmod groupmod [OPTION]… group
-n group_name: 新名字
-g GID: 新的GID;
組刪除:groupdel groupdel GROUP
更改組密碼:
組密碼:gpasswd gpasswd [OPTION] GROUP
-a user: 將user 添加至指定組中;
-d user: 從指定組中移除用戶user
-A user1,user2,…: 設置有管理權限的用戶列表
文件權限:
文件的權限主要針對三類對象進行定義:
owner: 屬主, u
group: 屬組, g
other: 其他, o
每個文件針對每類訪問者都定義了三種權限:
r: Readable 讀權限 可使用文件查看類工具獲取其內容
w: Writable 寫權限 可修改其內容
x: eXcutable 執行權限 可以把此文件提請內核啟動為一個進程
-rw-r–r– 就是權限 第一個root,是文件所有者(owner) 第二個root是文件所屬組 還有other
-rw-r–r–就是給這三類對象賦予權限的 按照rwx順序賦予權限 沒有權限用-代替
更該權限語法:chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x) file……
例:
目錄權限:
r: 可以使用ls 查看此目錄中文件列表
w: 可在此目錄中創建文件,也可刪除此目錄中的文件
x: 可以使用ls -l 查看此目錄中文件列表,可以cd 進入此目錄
X:只給目錄x 權限,不給文件x 權限(文件本身沒有權限)
chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x,X) file……
還有一種形式:chmod 數字(3個八進制數字) file r:4 w:2 x:1 沒權限就是0
算法:rwxrwxrwx就是r+w+x=777
chmod [OPTION]… –reference=RFILE FILE…
參考RFILE 文件的權限,將FILE 的修改為同RFILE;
權限設置:
chgrp sales testfile 設置所有者
chown root:admins testfile設置所有者、所屬組
chmod u+wx,g-r,o=rx file所有者+寫、執行,所屬組-讀,other賦予讀、執行
chmod -R g+rwX /testdir對此目錄里的所有子目錄、文件 賦予讀寫權限,X表示對目錄加執行權限
chmod 600 file所有者是讀、寫權限 其他的沒權限
chown mage testfile把所有者改成mage root可執行,文件所有者user可將之改為user的所屬組
新建文件和目錄的默認權限:
? umask值可以用來保留在創建文件權限
umask值 + default默認權限=dir目錄777 file文件666
umask 從最大權限中屏蔽掉相應權限位,從而得到默認權限
默認權限=最大權限-umask 如果是目錄,則公式不變
? 新建FILE 權限: 666-umask 如果所得結果某位存在執行(奇數)權限,則將其權限+1
? 新建DIR 權限: 777-umask
? 非特權用戶umask是002
? root 的umask 是022
? umask: 查看
? umask #: 設定
? umask –S 模式方式顯示
? umask –p 輸出可被調用
? 全局設置: /etc/bashrc 用戶設置:~/.bashrc
更改umask的方法:臨時更改
特殊權限: SUID, SGID, Sticky
三種常用權限:r, w, x user, group, other
可執行文件上SUID權限
任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
? 啟動為進程之后,其進程的屬主為原程序文件的屬主 只對二進制可執行程序有效
SUID 設置在目錄上無意義
權限設定: chmod u+s FILE… chmod u-s FILE…
可執行文件上SGID權限:
? 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
? 啟動為進程之后,其進程的屬主為原程序文件的屬組
? 權限設定:chmod g+s FILE… chmod g-s FILE…
目錄上的SGID權限:
當他作用在一個目錄上時,在此目錄下新建的文件,將自動繼承該目錄的所屬組
? 默認情況下,用戶創建文件時,其屬組為此用戶所屬的 主 組
? 一旦某目錄被設定了SGID ,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組
? 通常用于創建一個協作目錄
? 權限設定:chmod g+s DIR… chmod g-s DIR…
sticky位:粘滯
具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權
? 在目錄設置Sticky 位,只有文件的所有者或root可 可以刪除該文件
? sticky 設置在文件上無意義
? 權限設定:chmod o+t DIR… chmod o-t DIR…
例如:
設定文件特定屬性:
? chattr +i 不能刪除,改名,更改
? chattr +a 只能增加
? lsattr 顯示特定屬性
加上特定屬性后,只能看,不能刪,不能更改,不能移動
想要恢復正常 chattr -i命令 恢復正常
訪問控制列表:
為多用戶或者組的文件和目錄賦予訪問權限rwx
? mount -o acl /directory
? getfacl file |directory
? setfacl -m u:wang:rwx file|directory
? setfacl -Rm g:sales:rwX directory
? setfacl -M file.acl file|directory把設置權限的代碼寫到文件里,用M來調用
? setfacl -m g:salesgroup:rw file| directory組權限
? setfacl -m d:u:wang:rx directory 此目錄下,新建的文件有此權限
? setfacl -x u:wang file |directory
? setfacl -X file.acl directory
取消用戶guoquan所有權限 如圖
恢復權限:
ACL 文件上的group 權限是mask 值(自定義用戶,自定義組,擁有組的最大權限), 而非 傳統的組權限
mask 只影響除所有者和other 的之外的人和組的最大權限
Mask 需要與用戶的權限進行邏輯與運算后,才能變成有限的權限
? getfacl 可看到特殊權限:flags
原創文章,作者:舊城以西,如若轉載,請注明出處:http://www.www58058.com/27605