目標:要在4.3BSD中新增長用戶dmr,指定目錄/home/dmr,uid爲10 gid=31(guest組,系統已創建)dom
4.3BSD尚未adduser或useradd測試
直接修改/etc/passwd增長dmr條目,不行:ui
4.3 BSD UNIX (myname.my.domain) (console) login: root Last login: Thu Jul 15 17:00:20 on console Jul 15 17:05:17 myname login: ROOT LOGIN console 4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004 Welcome to UNIX! erase ^?, kill ^U, intr ^C # cat /etc/group wheel:*:0:root daemon:*:1:daemon kmem:*:2:root sys:*:3:root tty:*:4:root operator:*:5:root bin:*:10:root guest:*:31:root ingres:*:74:ingres nobody:*:32767:nobody # cat /etc/passwd root::0:0:System Manager:/:/bin/sh daemon:*:1:31:System &:/: operator:*:2:28:System &:/:/bin/sh bin:*:3:10:System Binaries:/: games:*:7:2:Games pseudo-user:/usr/games: dmr:*:10:31:Dennis Ritchie:/home/dmr: uucp:*:66:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico nobody:*:32767:32767:Unprivileged user:/nonexistent:/dev/null # passwd dmr passwd: dmr: unknown user. # ls /etc/passwd* /etc/passwd /etc/passwd.dir /etc/passwd.pag
須要修改/etc/passwd.pag,不能直接修改,須要用到mkpasswd命令生成passwd.dir和passwd.pag文件spa
mkdir /home/dmr (創建dmr用戶主目錄)code
cd
cp /etc/passwd . (在root的主目錄下操做,而不是在/etc下,以避免誤操做)
echo "dmr:*:10:31:Dennis Ritchie:/home/dmr:" >> passwd
mkpasswd passwd (生成passwd passwd.dir passwd.pag)
mv passwd* /etc/. (這時候dmr被建立了)
passwd dmr (修改dmr密碼)
chown dmr /home/dmrci
# cp .login /home/dmr (dmr用戶環境設置)
# cp .profile /home/dmr
# cp .cshrc /home/dmrget
# cd /home/dmr
# chown dmr .cshrc
# chown dmr .login
# chown dmr .profile
it
# login
login: dmr
Password:io
測試代碼:console
$ cat > myid.c #include <stdio.h> #include <sys/types.h> main() { printf("uid is %d,gid is %d\n", getuid(),getgid()); } $ cc myid.c $ a.out uid is 10,gid is 31 $