一、概述-基本常识
作为多用户、多任务(Multi-Users,Multi-tasks)的服务器操作系统,Linux提供了严格的权限管理机制,主要从用户身份、文件权限两个方面对资源进行限制。Linux基于用户身份对资源访问进行控制。
二、用户账号文件
/etc/passwd——保存用户名称、宿主目录、登录shell等基本信息
[root@lokott ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash——以冒号分隔 下面进行逐一解释
/etc/shadow——保存用户的密码、账号有效等信息
[root@lokott ~]# head -2 /etc/shadow //查看头两行信息
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::
bin:*:17110:0:99999:7:::
[root@lokott ~]#
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::——以冒号分隔,下面逐一解释
/etc/group--保存组信息
[root@localhost test6]# cat /etc/group
root:x:0:root,linuxsir
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin
说明:
我们以root:x:0:root,linuxsir 为例: 用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户。
三、账号操作
先说两个非常常用的操作:
1、查看当前登录用户
whoami
2.sudo 权限
visudo命令是用来编辑修改/etc/sudoers配置文件
在“root ALL=(ALL) ALL”这一行下面,再加入一行:
xulei ALL=(ALL) ALL
其中,xulei为你当前使用的用户名,也就是普通用户的用户名
--------------------------------------------------
接下来进入正题:
1.添加用户账号——useradd命令
选项
useradd 不加参数创建用户时创建一个与用户同名的用户组。
useradd -g 和-G的解释:
-g: initial_group:group名称或以数字来做为使用者登入起始群组 (group)。群组名须为现有存在的名称.。群组数字也须为现有存在的群 组 。预 设 的 群 组 数 字 为 1 。
-G:group,[...]: 定 义此使用者为此一堆 groups的成员。每个群组使用 "," 区格开来,不可以夹杂空白字元 。群组名同 -g 选项的限制 。定义值为使用者的起始群组 。
-g 设置的是用户的primary group。 这些信息记录在/etc/passwd中。事实上系统确认一个用户的primary group的时候是根据/etc/passwd,而跟/etc/group无关。 因此,"useradd -g"仅仅修改/etc/passwd,而不会修改/etc/group。同理,"usermod -g"一样。
这样其中一个好处在于,当"usermod -g"切换到一个临时组,然后再切换回来的时候,不会把临时组的信息“遗留”在该用户设置中(即该用户已不在临时组中---如果原来附属组中没有那个临时组的话)。
关于G、g,有篇文章解释得不错 <https://www.cnblogs.com/bulh/articles/11238767.html>
实例:useradd -d /opt/mike (-g mike) -G caiwu -s /sbin/nologin mike
[root@lokott ~]# useradd -d /opt/mike -G caiwu -s /sbin/nolgin mike //注意需要先有caiwu组——groupadd caiwu
[root@lokott ~]# tail -2 /etc/passwd //查看passwd文件最后两行信息
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
mike:x:1001:1001::/opt/mike:/sbin/nolgin
[root@lokott ~]# tail -2 /etc/group
caiwu:x:1002:mike
mike:x:1001:
[root@lokott ~]# tail -2 /etc/shadow
lokott:$6$aq3AU9oDZf/ERE2D$Ol.zBTLNqbsPDdsJYE0yU3Wa7EUU1SonR3rUQ616PsgA2u.DtQ99ecTUbdw2y2RhmlaL75WlcqMsfEUNretgb0:18192:0:99999:7:::
mike:!!:18200:0:99999:7:::
[root@lokott ~]# id mike //查看mike的id信息
uid=1001(mike) gid=1001(mike) 组=1001(mike),1002(caiwu)
[root@lokott ~]# ls /home/ //因为-d 指定了用户的宿主目录,所以家目录创建在了指定的/opt/mike目录