Linux用户

1.用户和组
使用Linux时需要以一个用户的身份登入;
一个进程也需要以一个用户的身份运行;
用户的作用:限制使用者或进程可以使用和不能使用某些资源;
组的作用:用来管理用户;
 
关于用户和组:
    每个用户拥有一个UserID,操作系统实际使用的是用户id,而不是用户名;
    每个用户属于一个主组,属于一个或多个附属组;
    每个用户拥有一个GroupID;
    每个进程以一个用户的身份运行,并受该用户可访问资源的限制;
    每个可登录用户拥有一个指定的shell;
 
2.用户
每个用户有一个用户id;
用户id 为32位(也就是2的32次方);从0开始;
为了和老式系统兼容,一般将用户id限制在60000以下;因为老的系统并没有32位,也就到不了那么高的数字;
 
用户分为3种:
    root用户    ->id为0的用户,也可以叫别的名字;
    系统用户    ->id在 1-499 之间;没有登录shell;用来给进程使用的;
    普通用户    ->id在 500及以上;
 
系统中每个文件都有一个所属用户及所属组;
命令 id 可显示当前用户的信息;
命令 passwd 可修改当前用户的密码;
 
3.保存用户信息的相关文件
/ect/passwd    ->保存用户信息;
/ect/shadow    ->保存加密后的用户密码;该文件只有管理员有权限查看;
/ect/group        ->保存组信息;
 
1)查看用户信息
cat /ect/passwd
每一行代表一个用户的信息;
每一行分为多个部分;用冒号“:”隔开;
以root为例:
    用户名;root;
    x表示密码是保存在/ect/shadow中的;x;
    用户的id号;0;
    组id;0;
    用户的描述信息;可能没有;root;
    用户的家目录;/root;
    用户登录的shell;    /bin/bash;也就是命令窗口; 而系统用户很多都是/usr/sbin/nologin;也就是不需要登录,没有shell;
 
2)查看密码
cat /etc/shadow
每一行代表一个用户信息;
用冒号隔开;
每个部分:
    用户名;
    密码;
        比如有些是感叹号 ! 表示没有密码;
        密码是加密处理过的;分为3个部分;用$隔开;
        分为加密方式、盐(也就是加密前插入的额外内容,增加破解难度)、加密后的密码;
    
 
3)查看组信息
cat /etc/group
包括:组名、组密码、组id;
 
4.查看登录用户
Linux中一般命令越长,显示出来的信息越少;
显示当前用户:
whoami
哪些用户已经登录系统:
who
哪些用户正在登录,并在干什么:
w
 
5.创建用户
命令 useradd 用来创建用户;
比如:useradd 用户名
useradd liusir
这个命令会执行以下操作:
    在/ect/passwd 目录下添加新用户信息;
    如果用 passwd 命令创建密码,则保存在 /ect/shadow 中; 命令:passwd 用户名;然后按提示输入密码即可;
    为用户建立一个新的家目录;比如:/home/liusir;
    将 /etc/skel 中的文件复制到用户的家目录中;通常是一些初始化的说明文档之类的;
    建立一个与用户的用户名相同的组;新建用户默认属于这个组;
 
useradd的参数:
    -d    ->家目录;
    -s    ->登录shell;
    -u    ->userid;
    -g    ->主组;
    -G    ->附属组;最多31个用逗号“,”隔开
也可以通过修改/etc/passwd的方式来实现,但是不建议这么做;    
 
6.修改用户信息
命令 usermod 用来修改用户信息;
usermod 参数 username
usermod -l newname liusir
支持参数:
    -l    ->新用户名;
    -u    ->新userid;
    -d    ->用户家目录;
    -g    ->用户组;
    -G    ->附属组;
    -L    ->锁定用户使其不能登录;
    -U    ->解除锁定;
 
7.删除用户
命令 userdel 用来删除用户;
保留家目录:userdel 用户名:
uerdel liusir
删除用户的同时删除其家目录:userdel -r 用户名:
userdel -r liusir
 
8.关于组
几乎所有的操作系统都有组这个概念;
通过组可以来管理用户;
每个组有一个组id;
组信息保存在 /etc/group中;
每个用户都有一个组,同时最多可有31个附属组;
 
组的操作:
    1)创建组
        groupadd 组名
groupadd liu
 
    2)命令 groupmod 修改组信息;
        groupmod -n newname oldname    修改组名;
groupmod -n new liusir
        groupmod -g newGid oldGid    修改组id;
groupmod -g 666 1000
 
    3)命令 groupdel 删除组;
        groupdel 组名:
groupdel liusir
 
    4)分组管理用户的示例
 
 
 
 
posted @ 2019-03-02 21:00  L丶银甲闪闪  阅读(155)  评论(0编辑  收藏  举报