1. 程式人生 > >Linux建立使用者只能訪問某個目錄

Linux建立使用者只能訪問某個目錄

一、直接建立

1、建立一個使用者

useradd test2

2、設定使用者密碼
passwd test2

3、修改登入後文件目錄和只允許訪問某一個目錄

修改/etc/ssh/sshd_config 檔案

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
 #這行指定使用sftp服務使用系統自帶的internal-sftp
Subsystem sftp internal-sftp
 #這行用來匹配使用者
Match User test1
#用chroot將使用者的根目錄指定到/usr/local/sftp,這樣使用者就只能在/usr/local/sftp下活動
ChrootDirectory  /usr/local/sftp
 
Match User test2#設定兩個賬號
ChrootDirectory /home/aa

X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp #指定sftp命令

4、檢視是否登入
sftp -oPort=22 test2:192.168.2.1

特別注意:

/usr/local/sftp 目錄所屬是root。。確保目錄許可權755或者750

二、ftp建立

yum -y install vsftpd  #通過yum來安裝vsftpd
chkconfig vsftpd on ##設定為開機啟動
vi /etc/vsftpd/vsftpd.conf #設定配置檔案  

anonymous_enable=YES    #設定是否允許匿名使用者登入 
local_enable=YES        #設定是否允許本地使用者登入 
local_root=/home        #設定本地使用者的根目錄 
write_enable=YES        #是否允許使用者有寫許可權 
local_umask=022        #設定本地使用者建立檔案時的umask值 
anon_upload_enable=YES    #設定是否允許匿名使用者上傳檔案 
anon_other_write_enable=YES    #設定匿名使用者是否有修改的許可權 
anon_world_readable_only=YES    #當為YES時,檔案的其他人必須有讀的許可權才允許匿名使用者下載,單單所有人為ftp且有讀許可權是無法下載的,必須其他人也有讀許可權,才允許下載 

download_enbale=YES    #是否允許下載 
chown_upload=YES        #設定匿名使用者上傳檔案後修改檔案的所有者 
chown_username=ftpuser    #與上面選項連用,表示修改後的所有者為ftpuser 
ascii_upload_enable=YES    #設定是否允許使用ASCII模式上傳檔案 
ascii_download_enable=YES    #設定是否允許用ASCII模式下載檔案 

chroot_local_user=YES        #設定是否鎖定本地使用者在自己的主目錄中,(登入後無法cd到父目錄或同級目錄中) 
chroot_list_enable=YES        #設定是否將使用者鎖定在自己的主目錄中 
chroot_list_file=/etc/vsftpd/chroot_list    #定義哪些使用者將會鎖定在自己的主目錄中 
userlist_enable=YES    #當為YES時表示由userlist_file檔案中指定的使用者才能登入ftp伺服器 
userlist_file=/etc/vsftpd/user_list    #當userlist_enable為YES時才生效

service vsftpd restart  #重啟vsftpd

useradd -d /home/www -m /home/www 使用者 ##-d 目錄 指定使用者主目錄,如果此目錄不存在,則同時使用-m選項,可以建立主目錄。
passwd 使用者名稱 ##設定密碼


如此配置完成。。。。。

設定防火牆 

vi /etc/sysconfig/iptables-config

修改
IPTABLES_MODULES="ip_conntrack_ftp"

開放21埠
vi /etc/sysconfig/iptables

新增
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

重啟

如果此時還不能上傳檔案許可權,修改SELinux

此處不開啟SELinux,

chmod 755 /home/www

chown -R ftp使用者名稱:root 目錄