麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > FreeBSD > 正文

在FreeBSD中添加用戶

2024-07-26 00:29:21
字體:
來源:轉載
供稿:網友

Dru Lavigne
01/03/2001

FreeBSD是個多用戶環境;一個系統管理員主要的工作之一就是建立用戶賬號并向用戶提供一個安全的工作環境。要有效地完成此工作需要在建立任何用戶之前作一些預期規劃。

即使如果你是個人FreeBSD系統的唯一用戶,仍需要至少建立一個用戶賬號來完成常規的工作。記住,只在工作需要超級用戶權限的時候才用超級用戶賬號。

在你的FreeBSD系統上象一位系統管理員那樣練習規劃是個好主意,因為你可以增長管理“實際”生產環境的基本技術。

當你建立一個用戶時,在后臺會發生很多事情:更新一些數據庫,建立郵件目錄以及用戶的宿主目錄。當建立用戶時,你必須提供一定數量的信息,包括用戶名和口令。在這篇文章中,我打算集中于用戶策略以及建立用戶賬號上。

你建立的每個用戶賬號都必須有一個在FreeBSD系統上唯一的名字。在較小的環境這很容易做到,但如果你必須建立一打,成百甚至上千個用戶就稍微要困難一點了。為了有助于確保唯一性,你應該有一套用戶命名策略。如果沒有適當的策略,你需要建立一套命名方案,緊記一些用于用戶名的限制。首先,用戶名應被限制在16個字符之內,而一些協議,如NIS,需要用戶名少于8個字符。其次,用戶名不能以連字符“-”起首。再次,你應該避免使用大寫字母和句點,因為這些會搞亂一些郵件程序。

在較小環境中的策略樣例可以用用戶的名和姓首字母來建立用戶名。你可能要對此稍加修改以避免沖突。例如,如果你需要為Mike Smith和Mike Spencer建立賬號,可以建立“mikes”和“michaels”,或“mikesm”和“mikesp”。

其它的策略可以用用戶的姓和名首字母并作適當的修改來建立用戶名以避免沖突。如果你需要為Mark Smith和Michelle Smith建立賬號,可以建立“smithma”和“smithmi”。

在稍大的環境中,你可能要用較多字符分別表示名和姓。例如,如果命名策略是名部分的首四個字符后跟姓部分的首四個字符,那么Mark Smith應該是“marksmit”,而Michelle Smith應該是“michsmit”。你仍需要有一份后備計劃用于那些姓和名都少于指定的字符數量。例如,如果我需要用上述策略為My Lee建立一個賬號,我應該建立“my_lee”。

除非你處于一個相當小的環境之中,避免非說明性的昵稱,如我用在自己系統上的“biko”和“genisis”是比較明智的。

總而言之,一個好的用戶命名策略表明了對用戶名的限制,而且是避免命令沖突的一個應急方法。

一旦你決定了一套命令方案,你就可以用adduser工具建立用戶賬號了。這個工具有一個配置文件/etc/adduser .conf,它還會讀取一個訊息文件/etc/adduser.message。這些文件在你首次使用adduser工具前還沒有被創建。下面跟我一起建立一個用戶;我會使用v或verbose開關,所以我們將看到所有可能的提示信息。你會看到adduser首先創建它的配置文件,然后在建立用戶時把它作為一個模板。

adduser -v
You are not root!
哦。看起來這是個需要root權限的管理工作。讓我們再試一次:

su
PassWord:

adduser -v
/etc/adduser.conf: No such file or directory
可以看到這是我首次在該系統上使用“adduser”工具;它還沒有一個配置文件。

Use option "-silent" 
if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: bash csh date no sh tcsh [sh]: tcsh
adduser讀取一個含有系統上安裝的所有命令解釋器的路徑的文件/etc/shells;然后顯示用戶可以使用的解釋器。注意,向用戶提供的缺省解釋器是Bourne shell (sh),但我把它改為tcsh。

Your default shell is: tcsh -> /bin/tcsh
Enter your default HOME partition: [/home]: 
Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: 
當我們建完用戶并在接受了從/usr/share/skel目錄拷貝點文件看到的信息之后,可以去看一下那個目錄里的內容。

Send message from file: /etc/adduser.message no 
[/etc/adduser.message]: 
Create "/etc/adduser.message"? (y/n) [y]: 
Use passwords (y/n) [y]: 
Write your configuration to /etc/adduser.conf? (y/n) [y]:
可以看到adduser在/etc目錄下建立了adduser.message和adduser.conf文件。現在準備建立我們的用戶:

Ok, let's go.
Don't worry about mistakes. 
I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: dlavigne
Enter full name []: Dru Lavigne
Enter shell bash csh date no sh tcsh [tcsh]: 
Enter home directory (full path) [/home/dlavigne]: 
Uid [1000]: 
Enter login class: default []: 
Login group dlavigne [dlavigne]: 
Login group is "dlavigne". 
Invite dlavigne into other groups: guest no 
[no]: 
Enter password []: 
Enter password again []: 

Name:   dlavigne
Password: ****
Fullname: Dru Lavigne
Uid:   1000
Gid:   1000 (dlavigne)
Class:   
Groups:   dlavigne 
HOME:     /home/dlavigne
Shell:   /bin/tcsh
OK? (y/n) [y]: 
Added user "dlavigne"
Send message to "dlavigne" and: no root second_mail_address 
[no]: 

Dru Lavigne,
your account "dlavigne" was created.
Have fun!
See also chpass(1), finger(1), passwd(1)

Add anything to default message (y/n) [n]: 
Send message (y/n) [y]: 
Copy files from /usr/share/skel to /home/dlavigne
Add another user? (y/n) [y]: n
Goodbye!
現在我已經順利地建立了一個用戶,我將離開超級用戶賬號。讓我們以新用戶身份登錄,看一下他們有些什么東東并描述一下這里的內容:

login: dlavigne
Password:

pwd
/usr/home/dlavigne

ls -la

total 12
drwxr-xr-x 2 dlavigne dlavigne 512 Dec 30 11:21 ./
drwxr-xr-x 4 root     wheel    512 Dec 30 10:44 ../
-rw-r--r-- 1 dlavigne dlavigne 628 Dec 30 10:44 .cshrc
-rw-r--r-- 1 dlavigne dlavigne 299 Dec 30 10:44 .login
-rw-r--r-- 1 dlavigne dlavigne 160 Dec 30 10:44 .login_conf
-rw------- 1 dlavigne dlavigne 371 Dec 30 10:44 .mail_aliases
-rw-r--r-- 1 dlavigne dlavigne 331 Dec 30 10:44 .mailrc
-rw-r--r-- 1 dlavigne dlavigne 722 Dec 30 10:44 .PRofile
-rw------- 1 dlavigne dlavigne 276 Dec 30 10:44 .rhosts
-rw-r--r-- 1 dlavigne dlavigne 852 Dec 30 10:44 .shrc
你可以看到為用戶建立了一個宿主目錄,里面包含很多以點起首的文件。記得我們使用adduser工具時提到的點文件目錄嗎?讓我們現在來看一下:

ls -l /usr/share/skel

total 10
drwxr-xr-x  2 root wheel 512 Dec  8 11:53 ./
drwxr-xr-x 26 root wheel 512 Nov 20 08:11 ../
-rw-r--r--  1 root wheel 628 Nov 20 07:01 dot.cshrc
-rw-r--r--  1 root wheel 299 Nov 20 07:01 dot.login
-rw-r--r--  1 root wheel 160 Nov 20 07:01 dot.login_conf
-rw-------  1 root wheel 371 Nov 20 07:01 dot.mail_aliases
-rw-r--r--  1 root wheel 331 Nov 20 07:01 dot.mailrc
-rw-r--r--  1 root wheel 722 Nov 20 07:01 dot.profile
-rw-------  1 root wheel 276 Nov 20 07:01 dot.rhosts
-rw-r--r--  1 root wheel 852 Nov 20 07:01 dot.shrc
可以看到在我們新用戶的宿主目錄建立的八個文件都是從這個目錄中拷貝的模板文件。另外也可以看到只有超級用戶才可以編輯skel目錄里的文件。例如,如果你希望所有用戶都得到定制過的命令解釋器提示符,那么超級用戶可以修改usr/share/skel/dot.cshrc文件,此文件會在建立賬號時拷貝到所有用戶的宿主目錄中。還有,超級用戶也可以在該目錄中放入他希望用戶得到的任何其它點文件;例如你可以為用戶建立定制好的.xinitrc文件。

現在讓我們看一下adduser工具建立的/etc/adduser.message文件:

more /etc/adduser.message

#
# Message file for adduser(8)
#   comment: "#"
#   default variables: $name, $fullname, $password
#   other variables:  see /etc/adduser.conf after
#   line  "## DO NOT DELETE THIS LINE!"
#
$fullname,
your account "$name" was created.
Have fun!
See also chpass(1), finger(1), passwd(1)
讓我們把它和新用戶收到的信息比較一下;我使用mail命令該用戶的郵件信息:

login: dlavigne
Password:
You have mail.

mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/dlavigne": 1 message 1 new
>N  1 genisis   Sat Dec 30 12:24  20/540   "Welcome"
& 1
Message 1:
From genisis Sat Dec 30 12:24:19 2000
Date: Sat, 30 Dec 2000 12:24:19 -0500 (EST)
From: User Genisis
To: dlavigne
Subject: Welcome


Dru Lavigne,
your account "dlavigne" was created.
Have fun!
See also chpass(1), finger(1), passwd(1)

& ^D Saved 1 message in mbox
> ^D exit
你可以看到我在成為超級用戶以便使用adduser命令這前是以用戶“genisis”登錄的。我的新用戶收到的信息就是adduser.message中包含的內容,而插入的$fullname和$name變量都以實際的值作了替換。

當建立了賬號時,我們會得到以下的選項:

Add anything to default message (y/n) [n]:
如果我要建立其它賬號并打入y,我會得到以下提示:

Use "." or ^D alone on a file to finish your 
message
我打入的內容都會被加入到缺省的信息中,然后發給該特定的用戶;但是,這不會覆蓋我原先創建的/etc/addus er.message文件。讓我們來試一下這樣做;我將添加一個稱為“test”的賬號,顯示我們關心的輸出并“剪掉”其余的:

adduser

<剪掉>

Add anything to default message (y/n) [n]: y
Use "." or ^D alone on a line to finish your message.
Don't forget that every Friday is pizza day!
.
Send message (y/n) [y]: y
現在讓我們看一下用戶test的郵件信息是什么樣的:

login: test
Password:
You have mail.

mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/test": 1 message 1 new
>N  1 genisis   Sat Dec 30 12:47  22/567   "Welcome"
& 1
Message 1:
From genisis Sat Dec 30 12:47:07 2000
Date: Sat, 30 Dec 2000 12:47:07 -0500 (EST)
From: User Genisis
To: test
Subject: Welcome


test,
your account "test" was created.
Have fun!
See also chpass(1), finger(1), passwd(1)
Don't forget that every Friday is pizza day!
再看一下新信息是否被加到了模板文件:

more /etc/adduser.message

#
# Message file for adduser(8)
#   comment: "#"
#   default variables: $name, $fullname, $password
#   other variables:  see /etc/adduser.conf after
#      line  "## DO NOT DELETE THIS LINE!"
#

$fullname,
your account "$name" was created.
Have fun!
See also chpass(1), finger(1), passwd(1)
看來只有該用戶收到了附加的信息,這正如我們所期望的。在離開adduser.message文件之前我還想做更多的例子。我想讓用戶在他們的歡迎郵件中收到下面這條附加信息:

If you have any problems, contact the administrator at 
[email protected]
試一下你自己建立一個賬號并把這行加到他們的信息中;你會看到當你以該用戶登錄時,附加行沒有出現在郵件信息中。但是如果你把這行改成:

If you have any problems, contact the administrator at 
admin/@thiscompany.com
那么用戶就會收到附加信息了。注意,我們必須用/符號避開@符號,以便正確解釋。

最后,讓我們看一下剛才建立的adduser.conf文件:

more /etc/adduser.conf

# /etc/adduser.conf - automatic generated by adduser(8)
#
# Note: adduser read *and* write this file
# You may change values, but don't add new things before the
# line "## DO NOT DELETE THIS LINE!"
# use password for new users
# defaultpasswd =  yes | no
defaultpasswd = yes

# copy dotfiles from this dir ("/usr/share/skel" or "no")
dotdir = "/usr/share/skel"

# send this file to new user 
# ("/etc/adduser.message" or "no")
send_message = "/etc/adduser.message"

# config file for adduser ("/etc/adduser.conf")
config = "/etc/adduser.conf"

# logfile ("/var/log/adduser" or "no")
logfile = "/var/log/adduser"

# default HOME directory ("/home")
home = "/home"

# List of directories where shells located
# path = ('/bin', '/usr/bin', '/usr/local/bin')
path = ('/bin', '/usr/bin', '/usr/local/bin')

# common shell list, first element has higher priority
# shellpref = ('bash', 'tcsh', 'ksh', 'csh', 'sh')
shellpref = ('csh', 'sh', 'bash', 'tcsh', 'ksh', 'no', 'date')

# defaultshell if not empty ("bash")
defaultshell = "tcsh"

# defaultgroup ('USER' for same as 
# username or any other valid group)
defaultgroup = USER

# defaultclass if not empty
defaultclass = ""

# new users get this uid (1000)
uid_start = "1000"

## DO NOT DELETE THIS LINE!
## your own variables, see /etc/adduser.message
## end
你可以看到這是個簡單的文件,它包含了對adduser工具提示問題的回答。你看到的新信息只是該文件含有addus er記錄文件的存放位置。如果看一下這個記錄文件,會看到建立賬號時的記錄:

more /var/log/adduser

2000/12/30 12:24:18 dlavigne:*:1000:1000(dlavigne):Dru Lavigne
2000/12/30 12:47:06 test:*:1001:1001(test):test

上一篇:FreeBSD上的NFS

下一篇:FreeBSD基礎點滴

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 最新黄色电影网站 | 三人弄娇妻高潮3p视频 | 羞羞网站 | www.com超碰| 亚洲xxx视频 | 午夜久久视频 | 成av在线| 亚州精品天堂中文字幕 | 免费日本一区二区 | 亚洲精品久久久久久久久久 | 欧美一级免费看 | 精品久久久久久久久久久αⅴ | 99影视电影电视剧在线播放 | 成人在线视频在线观看 | 中日韩乱码一二新区 | 日韩毛片免费观看 | 色偷偷一区 | lutube成人福利在线观看污 | 一级免费黄视频 | 视频在线91 | 一区二区久久精品66国产精品 | 欧美成人午夜一区二区三区 | 日韩精品久久久久久久九岛 | 欧美精品一区二区三区在线 | 国产精品自在线拍 | 亚洲福利在线视频 | 男女无遮挡羞羞视频 | 黄色试看视频 | 日韩av在线影院 | 色啪综合 | 久久成人国产精品入口 | 久久久成人999亚洲区美女 | 精品国产一区二区三区四区阿崩 | 日本特级a一片免费观看 | 九九视频在线观看黄 | 免费观看视频在线 | 久久精品国产清自在天天线 | 成人午夜视屏 | 午夜精品福利视频 | 日韩一级网站 | 精品国产乱码一区二区三区四区 |