用戶管理
(一) 用戶基本知識
1.文件信息
ls -l
drwxrwxrwx filename
(1)訪問權限
mode : rwx rwx rwx r:read w:write x:execute
user group other
縮寫 : (u) (g) (o)
(2) 文件類型
- : 普通文件
b : 塊特殊文件,如硬盤和CDROM設備
c : 字符文件設備或稱“raw”設備文件
l : 符號連接
p : 管道或流,用於進程通訊
d : 目錄
2.缺省權限
創建文件和目錄時,系統自動設置一定的權限.缺省權限由用戶mask碼控制
$umask &顯示用戶umask碼
umask 設置 文件
目錄
022 新文件屬主有讀權和修改權 用戶組和其他用戶有讀權和修改權
用戶組和其他用戶只有讀權
可用umask maskvalue 改變缺省權限
3.系統安全文件
/etc/passwd 用戶注冊表
/etc/shadow 加密口令
/etc/group 用戶組
/etc/default/login 訪問控制
說明:
passwd文件是為系統中的用戶授予和認證訪問權限的第一個文件,其項目使用’:’ 分割.
login_name:passwd_field:UID:GID:comment:home_directory:default_shell
login_name 用戶唯一登錄名 comment 注釋(finger使用)
passwd_field 加密口令安全標記 home_directory 用戶注冊家目錄
UID 用戶號 default_shell 命令解釋器
GID 用戶缺省唯一組號 默認:sh,csh,ksh
shadow 文件管理用戶加密口令,該文件只對超級用戶有讀權限
login_name:encrypted_pass:last_change:min:max:warn:inactive:expire:reserved
login_name 用戶名(同passwd) max 口令有效最大天數
encrypted_pass 13字符長加密口令 warn 口令到期前多少天警告
last_change 上次更改日期(from1970.1.1) inactive 被禁止登錄前,帳號不活躍天數
min 最小間隔天數 expire 用戶禁止登錄絕對日期(通常空白)
group文件用於將計算機系統的用戶分組
groupname:passwd:gid:user-list
groupname 唯一組名 gid 為操作系統提供的代表組名的唯一標識號
passwd 組加密後的口令 user-list 用逗號分割的所有可訪問該組的用戶清單
理解UID和GID
系統中的每一個用戶名都被賦予了一個UID(User Identification Number
用戶標識號),這些
號在0-60000之間,系統使用UID將一個用戶名和操作系統對該用戶的標識等同起來,
建立用戶時,必須保證UID唯一。
GID(Group Identification
Number,組標識號)遵循與UID一樣的格式,范圍0-60000,
每個用戶至少屬於一組,並且可以屬於多組。
(三)shell特點
1. s olaris三類shell
- Bourne(缺省shell)
- C
- Korn
Shell 基本特點
特點 Bourne C Korn
別名機制 No Yes Yes
增強的cd(CDPATH)功能 Yes Yes Yes
歷史列表 No Yes Yes
作業控制 No Yes Yes
防止文件被覆蓋 No Yes Yes
忽略Control_D No Yes Yes
2. B shell
(1) 變量設置
實例: 終端類型:TERM=vt100;export TERM
語言環境:LANG=C;export LANG
執行路徑:PATH=$PATH:/usr/bin:. ; export PATH
顯示終端:DISPLAY=host:0.0;export DISPLAY
(2) 環境文件
.profile
3. C shell
(1) 變量設置
set 定義變量
setenv 定義環境變量(環境變量與變量不同之處在於環境變量可以影響子進程)
例子: 終端類型:setenv TERM=vt100
提示符: set prompt=”I love unix>;”
路徑變量:set path=($path /usr/bin .)
顯示終端:setenv DISPLAY host:0.0
共享庫: setenv LD_LIBRARAY_PATH
/usr/dt/lib:/usr/openwin/lib
(2) 環境文件
.login .cshrc
(3) 腳本語言
事例1: 更換後綴
foreach file (*.ab)
set base=`basename $file .ab`
mv $file $base.cd
end
事例2:簡單循環
@ cnt = 1
echo I will count from 1 to 100
echo and pause at every ten numbers for
confiumation to continue
echo -n Press an key to start:
#顯示數據後不回車
set key = $< #接受輸入字符
while ($cnt < 101)
echo This is $cnt
if (`exp $cnt % 10` == 0
) then
echo –n “continue or
not(Y/N)”
set key = $<
if ($key == ‘n’) exit
endif
@ cnt += 1 # 變量cnt 加
1
end
echo DONE
4. dtterm
.dtprofile 通用桌面環境設置選項
(四) 創建,刪除用戶帳戶
1. 圖形化管理工具
admintool
2. 字符型用戶管理
useradd ,usermod