本文共 699 字,大约阅读时间需要 2 分钟。
通过vim打开/etc/passwd文件,随便找一行有如下:
root:x:0:0:root:/root:/bin/bash
上述中通过冒号:将各个参数分隔开来,第一个root表示用户名,x表示口令,第一个0表示用户标识号,第二个0表示组标识号,第二个root表示注释性描述,/root表示主目录,/bin/bash表示登陆的shell。
具体含义可以归结为:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
这里重点强调下登录shell的区别?
常见的登录shell的选项有/bin/bash、/sbin/nologin、/bin/false的区别如下:
举个栗子:
我们看到daemon用户的shell是/sbib/nologin,如果执行su daemon会如何呢?
在root用户下,执行命令:sudaemon,效果如下:
此时,显示This account is current not available,表示该账号是不能登录的。
在看下如果登录的shell是/bin/false的效果:在root用户下,执行命令:suzookeeper,效果如下:
此时,没有显示任何信息,用户也没有切换。
补充知识点:
/sbin/nologin 只是不允许系统login,可以使用其他ftp等服务。
/bin/false 最严格的禁止login选项,一切服务都不能用。
问题:如何更改登录shell?两种方法:
1)直接修改/etc/passwd中的数据
2)通过命令:usermod –s /bin/bashoozie (这里的参数-s中的s应该是shell的首字母)