Linux建立使用者只能訪問某個目錄
阿新 • • 發佈:2019-01-01
一、直接建立
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 目錄