ubuntu 创建新用户ssh登录
Posted mangues
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 创建新用户ssh登录相关的知识,希望对你有一定的参考价值。
一.添加新用户
sudo useradd mangues
useradd与adduser都是创建新的用户
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。
二.修改SSH配置
sudo vim /etc/ssh/sshd_config
AllowUsers root mangues
1、限制用户SSH登录(白名单)
AllowUsers mangues mangues@192.168.0.1
允许 mangues 和从 192.168.0.1 登录的 mangues 帐户通过 SSH 登录系统。
2、限制用户SSH登录(黑名单)
DenyUsers mangues
拒绝 mangues 帐户通过 SSH 登录系统
3.限制IP SSH登录
linux 服务器通过设置/etc/hosts.allow和/etc/hosts.deny这个两个文件,hosts.allow许可大于hosts.deny可以限制或者允许某个或者某段IP地址远程 SSH 登录服务器,方法比较简单,且设置后立即生效,不需要重启SSHD服务
1./etc/hosts.allow添加
sshd:192.168.0.1:allow #允许 192.168.0.1 这个IP地址SSH登录
sshd:192.168.0.:allow #允许192.168.0.1/24这段IP地址的用户登录,多个网段可以以逗号隔开,比如192.168.0.,192.168.1.:allow
2./etc/hosts.allow添加
sshd:ALL #允许全部的ssh登录
hosts.allow和hosts.deny两个文件同时设置规则的时候,hosts.allow文件中的规则优先级高,按照此方法设置后服务器只允许192.168.0.1这个IP地址的SSH登录,其它的IP都会拒绝。
3./etc/hosts.deny添加
sshd:ALL #拒绝全部IP
三、ssh无法远程连接ubuntu系统,提示”System is booting up. See pam_nologin(8)
修改文件: /etc/pam.d/sshd
注释掉 pam_nologin.so 行,命令如下
sudo sed -i -r 's/^(.*pam_nologin.so)/#\\1/' /etc/pam.d/sshd
或者直接用vi打开,找到这行,前边加 # 号,如下:
四、指定mangues用户访问某些文件夹或者文件
1.基础知识:
1.linux文件权限
文件的权限分为 所有人、所属组、用户组之外的
linux下,代表文件属性的,一共10个字符
ls -dl XXX #查看文件的权限
比如:
1.第一个字符,区分文件和目录。
你这里的“d”代表目录,directory。常见的还有“-”,代表普通文件;“l”,代表链接文件,link。等等。
2.二三四、五六七、八九十,都是代表权限的。
二三四,代表文件所属用户的权限;五六七,代表文件所属用户组内其他用户的权限;八九十,代表用户组外其他用户的权限。
每组权限意思相同,r的意思是read,允许读取;w的意思是write,允许写入;x的意思是execute,允许执行。如果不允许读,第一个就是“-”;不允许写,第二个就是“-”;不允许执行,第三个就是“-”。
例如,一个文件权限是 lrwxr–r–,代表的意思就是:这是一个link文件,“rwx”代表所属用户可以读取、写入和执行;中间的“r–”代表用户组里的其他用户(除了所属用户)都只能读取,不能写入和执行;最后那个”r–”代表,用户组外的其他用户,也是只能读取,不能写入和执行。3.权限的计算方法,使用二进制:
例如“rwx”,二进制就是111,“2的2次方”+“2的1次方”+“2的0次方”=7;
“r-x”,二进制就是101,“2的2次方”+“0的1次方”+“2的0次方”=3
……
所以,刚刚例子里的 lrwxr–r–,代表的权限数值就是744。
如果一个文件权限是 rwxrwxrwx,代表777,就是开放了所有权限,是很危险的。
2.查看成员所属组
groups mangues
3.查看所有成员 组信息
cat /etc/group
在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
2.解决:
1.创建用户组
groupadd prod #创建prod用户组
2.设置用户所属用户组
usermod -aG prod mangues # add mangues to prod
3.将目录的所属用户组变更为prod
chgrp -R prod XXX
4.给组内成员权限
所有者:rwx
组内超员:rwx
组外超员:r-x
chmod -R 775 XXX
五、重启SSH
service sshd restart
参考连接:
1、https://zhidao.baidu.com/question/136200289217562245.html
2、https://www.cnblogs.com/ymy124/archive/2012/04/21/2461259.html
3、https://blog.csdn.net/qq_34937383/article/details/77977590
4、https://blog.csdn.net/wangzhaopeng0316/article/details/12991413
5、https://blog.csdn.net/ydyang1126/article/details/77547680
6、https://www.cnblogs.com/whitehorse/p/5847278.html
7、http://blog.163.com/huangbao_007/blog/static/356365352015111122358368/
8、https://blog.csdn.net/skey007/article/details/73565139
9、https://www.cnblogs.com/EasonJim/p/8334122.html
10、https://blog.csdn.net/ML_SDD/article/details/64125259
11、https://www.jianshu.com/p/a4de1538c2cd
12、https://blog.csdn.net/qq_28959531/article/details/78989635
以上是关于ubuntu 创建新用户ssh登录的主要内容,如果未能解决你的问题,请参考以下文章
配置Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录