linux学习16 Linux用户和组管理命令演练和实战应用
Posted Presley
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习16 Linux用户和组管理命令演练和实战应用相关的知识,希望对你有一定的参考价值。
一、上集回顾
1、bash globing,IO重定向及管道
glob:*,?,[],[^]
IO重定向:
>,>>,
2>,2>>
&>,&>>
> /PATH/TO/SOMEWHERE 2>&1
<,<<(Here Document)
COMMAND1 | COMMAND2
命令:tr,tee
2、用户管理基础概念
a、用户类别:
管理员,普通用户(系统用户和登陆用户)
b、组类别:
管理员组,普通用户组
基本组和附加组(主组和附加组)
私有组,公共组
c、数据库文件:
/etc/passwd
login:password:uid:gid:comment:home:shell
/etc/shadow
login:encrpted_password:最近一次修改密码日期:密码最短使用期限:最长使用期限:警告时长:非活动时间:过期时间:保留字段
/etc/group
group:password:gid:user_list
密码存储格式:单向加密,并借助于salt完成
md5
sha1
sha224
sha256
sha384
sha512
二、Linux用户和组管理
1、groupadd:添加组 groupadd [options] group
a、groupadd -g:自定义gid如果不指定那么默认是上一个组的gid + 1
b、groupadd -r:创建系统组
[root@node1 ~]# tail -2 /etc/group centos:x:5002: gentoo:x:5003: [root@node1 ~]# groupadd -r testgrp [root@node1 ~]# tail -2 /etc/group gentoo:x:5003: testgrp:x:990:
[root@node1 ~]# groupadd -g 2000 grp1 [root@node1 ~]# groupadd -r -g 306 mariadb [root@node1 ~]# tail -2 /etc/group grp1:x:2000: mariadb:x:306:
2、安全上下文模型:
进程以其发起者的身份运行:
进程对文件的访问权限,取决于发起此进程的用户的权限:
系统用户:为了能够让后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登陆系统。
3、groupmod:修改组属性 groupmod [options] GROUP
a、groupmod -g:GID,修改GID
[root@node1 ~]# tail -2 /etc/group grp1:x:2000: mariadb:x:306: [root@node1 ~]# groupmod -g 702 mariadb [root@node1 ~]# tail -2 /etc/group grp1:x:2000: mariadb:x:702:
b、group -n new_name old_name:修改组名称
[root@node1 ~]# groupmod -n perconaserver mariadb [root@node1 ~]# tail -2 /etc/group grp1:x:2000: perconaserver:x:702:
4、groupdel:删除组 groupdel GROUP
[root@node1 ~]# groupdel perconaserver
[root@node1 ~]# groupdel grp1
5、useradd命令:创建用户 useradd [options] LOGIN
[root@node1 ~]# file $(which adduser) /usr/sbin/adduser: symbolic link to `useradd‘
a、useradd wohaoshuai1
[root@node1 ~]# useradd wohaoshuai1 [root@node1 ~]# tail -1 /etc/passwd wohaoshuai1:x:5004:5004::/home/wohaoshuai1:/bin/bash
[root@node1 ~]# tail -1 /etc/group wohaoshuai1:x:5004:
b、useradd -u UID:指明uid
[root@node1 ~]# useradd -u 3000 openstack [root@node1 ~]# tail -1 /etc/group openstack:x:5005:
c、useradd -g GROUP:指定基本组ID,此组得事先存在,否则可能出错。(指明组名称或组ID都可以)。创建用户的时候如果不指明组那么就会创建默认的私有组。-g表示将用户加入此基本组,-G表示将此用户加入附加组。
[root@node1 ~]# useradd -g openstack wohaoshuai2 [root@node1 ~]# tail -1 /etc/passwd wohaoshuai2:x:5005:5005::/home/wohaoshuai2:/bin/bash [root@node1 ~]# useradd -g 5005 wohaoshuai3 [root@node1 ~]# tail -1 /etc/passwd wohaoshuai3:x:5006:5005::/home/wohaoshuai3:/bin/bash [root@node1 ~]# tail -1 /etc/group openstack:x:5005:
d、useradd -c :增加注释信息
[root@node1 ~]# useradd -c "MogileFS DFS" mogilefs [root@node1 ~]# tail -1 /etc/passwd mogilefs:x:5004:5004:MogileFS DFS:/home/mogilefs:/bin/bash
e、useradd -G && useradd --groups:指明用户所属的附加组,多个组之间用逗号分隔。
[root@node1 ~]# cat /etc/group|grep ygrp
mygrp:x:3000:testuser
[root@node1 ~]# useradd -G mygrp archlinux
[root@node1 ~]# tail -1 /etc/passwd
archlinux:x:5005:5006::/home/archlinux:/bin/bash
[root@node1 ~]# tail -1 /etc/group
archlinux:x:5006:
[root@node1 ~]# cat /etc/group|grep ygrp
mygrp:x:3000:testuser,archlinux
35:23
以上是关于linux学习16 Linux用户和组管理命令演练和实战应用的主要内容,如果未能解决你的问题,请参考以下文章