看到有網友講SCO的ftp采用的是wu-ftp一種由於以前在小型機上曾用過wu-ftp限制過用戶登錄目錄,所以就嘗試了一下SCO下的做法,現總結一下,提供給大家參考:
1、修改/etc/passwd,把需要限制的用戶的根目錄後加上/./
例如:原來的目錄為/usr/test, 那麼改成/usr/test/./
看起來改後的/etc/passwd該用戶的內容像這樣子:
test:x:215:50::/usr/test/./:/bin/sh
2、建立並修改相關文件
登錄進入root帳戶
# su - test(你的用戶名)
$ mkdir bin
$ cp /bin/ls bin
$ mkdir lib
$ cp /lib/libprot.so.1 lib
$ mkdir -p usr/lib
$ cp /usr/lib/libc.so.1 usr/lib
$ cp /usr/lib/libsocket.so.1 usr/lib
$ mkdir etc
$ cp /etc/passwd etc
$ cp /etc/group etc
$ cd etc
$ vi passwd 把不用ftp的用戶都刪了
$ vi group 把不用ftp的組都刪了
# exit 退回到root用戶
# cd /etc
# vi inetd.conf
找到ftp那行,首先確認行首沒有被#號注釋掉,然後在末尾加上-a
看起來修改後的inetd.conf中ftp那行內容像這個樣子:
ftp stream tcp nowait root /etc/ftpd ftpd -a
存盤退出激活inetd.conf參數:
# ps -e | grep inetd 記下inetd的進程號
# kill -HUP inetd進程號
# vi ftpaccess
找有無guestgroup的行,
有則先確認行首無#號後把test用戶的組名(你的用戶所屬的組名)加上,用空格分隔名字
無則加上一行,看起來像這個樣子:
guestgroup group(你用戶的組名)
x!強制存盤退出(該文件默認方式是只讀)
建議給此類ftp的用戶單獨建立一個組,以便日後的安全設置
3、對於不想用戶修改內容的目錄或文件,把寫權限用chmod -w 去掉即可
對於不想用戶取走的文件或不想用戶訪問的目錄,chmod -r把讀權限去掉
4、如果想讓test用戶只能ftp不能telnet,
那麼現在可以開始做相應的修改了:
首先/etc/shells裡加入一行/bin/false後:
/etc/shells文件內容實例:
#
/bin/csh
/bin/sh
/bin/ksh
/usr/bin/scosh
/bin/false #加入是為了讓/bin/false成為系統認可的shell, 無則ftp會提示錯誤
然後再把/etc/passwd該用戶的shell改為/bin/false即可
看起來修改後的/etc/passwd該用戶的內容像這個樣子:
test:x:215:50::/usr/test/./:/bin/false
到這裡就可以進行測試了。