|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教:如何限制用戶登陸後可訪問的目錄?
qdans01:/var/sawork/bin:which cd
/bin/cd
qdans01:/var/sawork/bin:/bin/cd /tmp
qdans01:/var/sawork/bin:cd /tmp
qdans01:/tmp:
我輸入全路徑,結果cd命令不執行,去掉路徑後就可以了。不知道是什麼原因?
以下是/bin/cd的內容:
#!/bin/ksh -p
#
#ident "@(#)alias.sh 1.2 00/02/15 SMI"
#
# Copyright (c) 1995 by Sun Microsystems, Inc.
#
cmd=`basename $0`
$cmd "$@" |
請教:如何限制用戶登陸後可訪問的目錄?
cd是shell的一個內建命令,一旦啟動了shell,cd就駐留在內存裡,是不需要什麼路徑的! |
請教:如何限制用戶登陸後可訪問的目錄?
我在別的系統上試了一下,結果一樣。只要在cd命令前面加上路徑,cd命令就不好用了。真奇怪! |
請教:如何限制用戶登陸後可訪問的目錄?
那就是說,我們沒發來重寫cd命令了?
我本來想重寫一下cd命令,來限制用戶可以訪問的目錄。不知各位大俠有什麼好辦法嗎? |
請教:如何限制用戶登陸後可訪問的目錄?
用戶要求某個用戶登陸後,只能訪問其home和另外一個指定目錄。大家有什麼方案嗎? |
請教:如何限制用戶登陸後可訪問的目錄?
在bash中
使用 bash -r不可以啟用一個受限shell |
請教:如何限制用戶登陸後可訪問的目錄?
| 請教:如何限制用戶登陸後可訪問的目錄?
斑竹能說的稍微詳細點兒嗎?謝謝先。 |
請教:如何限制用戶登陸後可訪問的目錄?
-->
但是你不可能設置系統所有目錄的權限呀.. |
請教:如何限制用戶登陸後可訪問的目錄?
[code][waker@proxy d1]$ bash -r
[waker@proxy d1]$ ls
b.bac.bac bb.bac.bac c d d3 d4 dd2 tt tt.sh
[waker@proxy d1]$ whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
[waker@proxy d1]$ /bin/ls
bash: /bin/ls: restricted: cannot specify `/' in command names
[waker@proxy d1]$
[/code]
bash本身也有一定的限制功能,就是通過其(受限shell)restricted shell功能,所做的限制包括:阻止用戶改變目錄和環境變量;重定向輸出;使用絕對路徑運行命令;使用exec命令和其它一些操作。如果bash是以rbash為名啟動,或者使用-r選項運行,它就稱為受限shell。受限shell能夠使系統環境更好控制。如果啟動受限shell,以下操作將被禁止:
* 使用cd命令切換目錄;
* 設置或者取消SHELL、PATH、ENV或者BASH_ENV環境變量;
* 以絕對路徑運行命令;
* 使用絕對路徑指定的文件名作為內置命令.的參數;
* 使用絕對路徑指定的文件名作為內置命令hash的參數;
* 在啟動時,從shell環境導入函數的定義;
* 在啟動時,解析SHELLOPTS的值;
* 使用
>、>|、<>、>&、&>和>>
等重定向操作重定向輸出;
* 使用exec命令使其它的命令代替當前shell;
* 使用-f和-d選項打開/關閉內置命令;
* 對內置命令使用-p選項;
* 關閉受限模式。 |
請教:如何限制用戶登陸後可訪問的目錄?
對csh沒什麼瞭解,所以只能以bash舉個例子 |
請教:如何限制用戶登陸後可訪問的目錄?
-->
可以呀,一個命令搞定。用超級用戶進入
cd /
chmod -R 700 *
然後更改用戶可訪問的目錄為777即可。
chown是更換用戶組的也可以。 |
請教:如何限制用戶登陸後可訪問的目錄?
斑竹,運行bash -r後的PATH變量是在那裡設的?我在.profile, .bash_profile, .bashrc中設都不行。所以進入bash -r 模式後,只能運行當前目錄下的命令.. |
請教:如何限制用戶登陸後可訪問的目錄?
-->
這樣也行? |
請教:如何限制用戶登陸後可訪問的目錄?
-->
不行呀,我們的server是很多人共享,這樣的話,組權限就都沒了。 |
請教:如何限制用戶登陸後可訪問的目錄?
組權限再用chown改嘛。 |
請教:如何限制用戶登陸後可訪問的目錄?
我的sco又沒有bash,,唉......又失敗...... |
請教:如何限制用戶登陸後可訪問的目錄?
| 請教:如何限制用戶登陸後可訪問的目錄?
最後,總結一下:
看來目前除了Restricted shell之外,沒有更好的方法能將telnet登陸的用戶限制在用戶的home目錄下。但是restricted shell限制太多,用戶甚至無法訪問自己home下的子目錄。所以實際中很難應用。
謝謝Waker及各位的幫助。 |
請教:如何限制用戶登陸後可訪問的目錄?
先建一個 chroot 的環境, 含基本的 bin, etc, lib ... 相關目錄與文件.
(最好先知道啥是 chroot 及 chroot 環境)
然後, 找一下 pam 的 chroot module 的說明. |
| |