ubuntu环境下的用户添加 - 指定用户shell
2015-12-30 19:28
921 查看
在ubuntu环境下,首先创建一个文件夹 /home/test, 然后使用命令 useradd test -g ftp -d /home/test -s /sbin/nologin来添加一个用户,并指定用户的主目录为 /home/test。
至于-s选项表示用户使用的shell。
创建完毕之后,我们切换用户来看一下
root@vm65:~# su - test
Cannot execute /sbin/nologin: No such file or directory
这个就说明-s设置的目录不对,我们查看了一下,确实没有这个目录。
这时候,可以打开/etc/passwd文件看看其他用户的shell是怎么设置的。 打开之后我们发现,其他用户的shell都是如下
/bin/bash
/bin/sh
/usr/sbin/nologin
从这里可以看到是我们之前的设置是不对的,正确的设置应该是/usr/sbin/nologin。 更改之后,我们再切换用户看一下,
root@vm65:/sbin# su - test
This account is currently not available.
这次没有提示路径不存在的错误。 出现这个提示的原因,是因为我们创建这个用户只是为了ftp操作等内容,我们并不期望这个用户登录进来做什么其他的操作。
此外,还可以将用户的shell设置成/bin/false
我们现在开始试验一下:
hai@MaHai:~/config$ ftp 10.0.1.165
Connected to 10.0.1.165.
220 (vsFTPd 2.3.5)
Name (10.0.1.165:haiqinma): test
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> by
在网上搜罗了一下, 解决方法是:
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd
这个是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。
至于-s选项表示用户使用的shell。
创建完毕之后,我们切换用户来看一下
root@vm65:~# su - test
Cannot execute /sbin/nologin: No such file or directory
这个就说明-s设置的目录不对,我们查看了一下,确实没有这个目录。
这时候,可以打开/etc/passwd文件看看其他用户的shell是怎么设置的。 打开之后我们发现,其他用户的shell都是如下
/bin/bash
/bin/sh
/usr/sbin/nologin
从这里可以看到是我们之前的设置是不对的,正确的设置应该是/usr/sbin/nologin。 更改之后,我们再切换用户看一下,
root@vm65:/sbin# su - test
This account is currently not available.
这次没有提示路径不存在的错误。 出现这个提示的原因,是因为我们创建这个用户只是为了ftp操作等内容,我们并不期望这个用户登录进来做什么其他的操作。
此外,还可以将用户的shell设置成/bin/false
我们现在开始试验一下:
hai@MaHai:~/config$ ftp 10.0.1.165
Connected to 10.0.1.165.
220 (vsFTPd 2.3.5)
Name (10.0.1.165:haiqinma): test
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> by
在网上搜罗了一下, 解决方法是:
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd
这个是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。
相关文章推荐
- shell脚本学习(五)
- shell脚本的一些基础知识
- 使用 adb shell 抓取 Android 性能数据
- Linux shell的标准输入、输出和错误
- 设置某个shell文件,以bash方式执行
- Linux shell 之 提取文件名和目录名的一些方法
- 命令 与 bash shell脚本
- shell 并发多进程同时执行
- ubuntu基本的shell命令
- ubuntu基本的shell命令
- Shell脚本记录
- exchange 2013 Exchange Management Shell 常用命令
- shell获取目录下最新的文件,文件是以日期命名
- 命令行的艺术
- linux -bash: jps: command not found
- 通过shell脚本设置qnx系统的环境变量
- 在shell脚本中调用sftp免密码的配置
- Shell操作之细节整理(未完结)
- non-login shell 与login shell的区别
- mysql 5.7下载,安装与卸载(带shell,python脚本)