认识一下linux的权限管理其实认的不是你的用户名和密码而是识别的你的UID和GID说白了,就是你的用户ID和群组ID
>cat /etc/passwd</p>
<p>root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
</div>
上边的0就是用户id,群组id也是0,当然是我现在的用户root
用户登录的时候,会根据你的用户名,譬如我的root来去/etc/passwd有没有这个用户,如果没有跳出去,如果有就去/etc/shadow来找对应uid的密码,最后执行登录
0 #用户的Uid</p>
<p> #其中0是root,1-100是发行版自动创建的,100-499是系统需求时可以创建,500以后是一般使用的</p>
<p> 0 #用户的GId
root #用户信息栏说明
/root #家目录
/bin/bash #支持shell</p>
<p># /etc/shadow
>cat /etc/shadow
root:$6$5SjcaJAS$EH0r0LsApaWsmpoz5Zoz4iSavI7nr./VVmUi5GnFYLsScVS7fTWz9JK7E8..bNajM7jV2qBBn9fck5oiGzx0N1:16147:0:99999:7::: </p>
<p>root #用户名
$……1 #特别长那个是密码
16147 #更改口令的日期
0 #口令可以更改的日期,就是相对上一个16147的更改日期,0 就是随时修改
99999 #口令重新变更的天数
7 #口令警告,就是口令要过期了,windows用户应该看见过
第7个没有值 #这个是口令失效日期
第8个字段 #帐号失效日期
第9个字段 #保留
</div>
一般使用命令
useradd -G 用户 次要群组
选项与参数:
-u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;
-g :后面接的那个组名就是我们上面提到的 initial group 啦~
该群组的 GID 会被放置到 /etc/passwd 的第四个字段内。
-G :后面接的组名则是这个账号还可以加入的群组。
这个选项与参数会修改 /etc/group 内的相关数据喔!
-M :强制!不要创建用户家目录!(系统账号默认值)
-m :强制!要创建用户家目录!(一般账号默认值)
-c :这个就是 /etc/passwd 的第五栏的说明内容啦~可以随便我们配置的啦~
-d :指定某个目录成为家目录,而不要使用默认值。务必使用绝对路径!
-r :创建一个系统的账号,这个账号的 UID 会有限制 (参考 /etc/login.defs)
-s :后面接一个 shell ,若没有指定则默认是 /bin/bash 的啦~
-e :后面接一个日期,格式为『YYYY-MM-DD』此项目可写入 shadow 第八字段,
亦即账号失效日的配置项目啰;
-f :后面接 shadow 的第七字段项目,指定口令是否会失效。0为立刻失效,
-1 为永远不失效(口令只会过期而强制于登陆时重新配置而已。)
>passwd -l xiaowei #这个时候就锁定无法登录了
>passwd -u xiaowei #解锁可以登录了
>passwd xiaowei #输入密码更换密码
#同passwd -S有相同功能的chage
选项与参数:
-l :列出该账号的详细口令参数;
-d :后面接日期,修改 shadow 第三字段(最近一次更改口令的日期),格式 YYYY-MM-DD
-E :后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
-I :后面接天数,修改 shadow 第七字段(口令失效日期)
-m :后面接天数,修改 shadow 第四字段(口令最短保留天数)
-M :后面接天数,修改 shadow 第五字段(口令多久需要进行变更)
-W :后面接天数,修改 shadow 第六字段(口令过期前警告日期)
usermod 修改用户参数
-c :后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。
-d :后面接账号的家目录,即修改 /etc/passwd 的第六栏;
-e :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
-f :后面接天数,为 shadow 的第七字段。
-g :后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是 GID 的字段!
-G :后面接次要群组,修改这个使用者能够支持的群组,修改的是 /etc/group 啰~
-a :与 -G 合用,可『添加次要群组的支持』而非『配置』喔!
-l :后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!
-s :后面接 Shell 的实际文件,例如 /bin/bash 或 /bin/csh 等等。
-u :后面接 UID 数字啦!即 /etc/passwd 第三栏的数据;
-L :暂时将用户的口令冻结,让他无法登陆。其实仅改 /etc/shadow 的口令栏。
-U :将 /etc/shadow 口令栏的 ! 拿掉,解冻啦!
xiaowei:x:1001:1001:nihao:/home/xiaowei:/bin/sh</p>
<p>>usermod -d /root/xiaowei xiaowei #xiaowei家目录就是这个位置了</p>
<p>>usermod -s /sbin/nologin xiaowei
>su xiaowei
#无法登录了
Cannot execute /sbin/nologin: No such file or directory
</div>
userdel 删除用户