linux 菜鸟入门之用户

对用户的理解


用户就是系统使用者的身份, 在系统中用户存储为若干窜字符+若干个系统配置文件

Linux 是一个多用户、多任务的操作系统除了登陆等操作之外,系统要求进程要以一个用户的身份进行运行,管理员限制用户或者进程的访问权限。

每一个用户具有一个shell。一般默认的就是bash。普通用户的UID为1000开始往上加。如果不特殊指明的话。默认每次创建新用户,用户UID加1。

系统中有一类用户称为伪用户(psuedousers),这些用户在Linux /etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足

相应的系统进程对文件属主的要求。常见的伪用户如下所示。

bin  拥有可执行的用户命令文件
sys  拥有系统文件
adm  拥有帐户文件
uucp  UUCP使用
lp    lp或lpd子系统使用
nobodyNFS使用

每次添加新用户时。系统会读 /etc/login.defs 这个文件,这里定义了一些规则。在/etc/defualt 中有个文件叫useradd

,这个文件也定义了一些默认值。如默认shell。默认家目录。。。。

linux 菜鸟入门之用户_第1张图片

正如所见,这里定义了正常用户的UID范围1000-60000、初始的密码期限信息、默认邮箱目录。

当然还有其他信息,默认密码加密方式MD5.这里就不贴图了,可以自己打开去看看。


linux 菜鸟入门之用户_第2张图片



用户信息涉及到的系统配置文件:
/etc/passwd  ###用户信息

用户:密码:uid:gid:说明:家目录:用户使用的shell

linux 菜鸟入门之用户_第3张图片

注:第二字段的密码是个x,其真实密码被映射到  /etc/shadow 中。因为/etc/passwd是个所有人都可以查看的文件。。。





/etc/shadow  ###用户认证信息

用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日


第二字段的密码为以$分开 第一字段 1 代表MD5 加密方式 

  2 代表Blowfish加密方式

6 代表SHA-256加密方式

第二字段 杂质,随机生成的,就算2个相同的密码。因为加了杂质,所以加密结果也不一样

    第三字段 代表加密后的密码


加密方式:  

对称加密:加密和解密用同一个密码

公钥加密:每个密码都成对出现,一个为私钥,一个为公钥。(用于做密钥交换)


单向加密:散列加密;指纹加密。提取数据特征码。常用于数据完整性校验

(MD5:信息摘要128位定长输出)

(SHA1:安全哈希加密,160位定长输出)

(SHA-256:安全哈希加密增强版。256位定长输出)


!!,* 。锁定用户


[root@localhost ~]# md5sum inittab  #使用MD5加密校验
66a88d6c4d693170753ea3382f8bc150  inittab
[root@localhost ~]# vim inittab    #在inittab中加个a,因为散列加密的雪崩效应。稍微的改变也会是使加密结果不一样
[root@localhost ~]# md5sum inittab 
d81a7893fc0f2fdd49d45e73624f6e00  inittab



/etc/group  ###组信息

组名称:组密码:组id:附加组成员

linux 菜鸟入门之用户_第4张图片

用户组类别:

私有组:创建用户时,如果没有为其指定所属组,系统默认创建一个与其同名的组

基本组:用户的默认组

附加组:默认组以外的组


/etc/gshadow  ###组认证信息


/home/username ###用户家目录


/etc/skel/.* ###用户骨架文件






    用户管理


1.用户建立

useradd 参数 用户名字


linux 菜鸟入门之用户_第5张图片


-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录

-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字

-m    ##创建用户的主目录


上述命令是在创建用户的同时将某个系统默认值改成自己要定义的


linux 菜鸟入门之用户_第6张图片


2.用户删除

userdel  -r 用户名称 -r表示删除用户信息及用户的系统配置


3.组的建立
groupadd -g   ##为创建组使用自定义的GID

groupdel 组名字 ##删除组


为组添加或者删除用户

linux 菜鸟入门之用户_第7张图片


作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'


4.用户id信息查看

id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字

-a ##显示所有信息


[root@localhost ~]# id -G wjx
1000 1111
[root@localhost ~]# id -Gn wjx
wjx double_lib
[root@localhost ~]# id -Gn zxx
zzx double_lib


finger命令查看用户详细信息linux 菜鸟入门之用户_第8张图片


改变文件的所属人和所属组。

chown wjx:wjx   file


5.用户信息更改
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称   (即指定新的家目录。也将家目录中的文件也移过去)
-s ##更改shell

-L ##冻结帐号                                                                                                                                    (与passwd -l 冻结强度不一样,在/etc/shadow 中用usermod -L 是在密码字段加一个!,passwd -l,是加两个!!)

-U ##解锁


改用户的shell还有chsh。

改用户的备注信息有chfn



用户权利下放
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers


2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式

*)格式:


获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd

test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd


3.执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd

表示用户调用sudo命令的时候不需要自己密码


visudo使用时要十分注意。比如我想让普通用户帮我添加用户,但没改密码,此用户时无法登陆的

所以我需要把passwd命令的权限也下放,才能让普通用户真正意义上的添加用户。但普通用户就可以使用

passwd以root身份把root的密码改掉。这就相当于root把服务器送人了


也不能把vim等编辑命令给普通用户。看下图

linux 菜鸟入门之用户_第9张图片

将vim权利下放


[wjx@localhost root]$ sudo vim /etc/passwd     #普通用户可以改passwd


让后把自己的UID改为0,root的UID改为1000。然后自己和root身份互换了,自己成大哥了,root成小弟了


############################
####4.用户认证信息的控制####
############################
chage  参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E "YYYY-MM-DD"

你可能感兴趣的:(运维)