LInux用户和组

LInux用户和组

安全上下文:

​ 进程应该以发起者的用户身份运行,我们应该给其最少的权限,尤其不应该授予管理员权限

​ 进程对文件的访问权限,取决于发起此进程的用户的权限,为了能够让后台进程或服务类进程

​ 以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从来不用登录系统(no login)

​ 我们称此类用户为 系统用户

groupadd:创建一个新组

groupadd [OPTIONS] group_name

-g GID:指定GID,默认是上一个组的GID+1

-r:创建系统组

groupmod:修改组

groupmod [OPTIONS] group_name

-g GID:修改GID

-n new_name:修改组名

groupdel:删除组

直接删除即可,注意如果组里有成员,此操作会使用户丢失主组

useradd:创建用户

useradd [OPTIONS] user_name

-u,–uid UID:指定UID

-g,–gid GID :指定基本组ID,此组得事先存在

-G,–groups GROUP1,GROUP2,…指明用户所属的附加组

-c,–comment COMMENT:注释信息,多用于显示用户的全名

-d,–home HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并从命名实现,指定

​ 的家目录路径如果事先存在,则不会为用户复制环境配置文件

-s,–shell SHELL:指定用户的默认SHELL,可用于所有的shell列表存储在/etc/shells文件

[root@zilongyun default]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

-r,–system:创建系统用户

-m,–create-home:创建主目录

-M:不为用户创建主目录

-f:非活动期限,密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1
表示禁用这个功能。

-D:显示或修改useradd的默认字符文件

[root@zilongyun ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

默认文件其实是在/etc/default/useradd

我们也可以通过直接编辑此文件实现

更详细创建用户默认的配置文件在/etc/login.def

usermod命令:修改一个用户账号

usermod [选项] 登录

-u:–uid UID:修改用户的ID为此处指定的新ID

-g:–gid GROUP:修改用户所属的基本组

-G:–groups GROUP[GROUP2,GROUP3,…]:修改用户所属的附加组,原来的附加组会被覆盖

-a:–append:与 -G 一同使用,用于为用户追加新的附加组

-c:–comment COMMENT:修改注释信息

-d:–home HOME_DIR:修改用户的家目录:用户原有的文件不会被转移新位置

-m:–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录

-l:–login NEW_LOGIN:修改用户名

-s:–shell SHELL:修改用户的默认SHELL

-L:–lock:锁定用户密码,即在用户原来的密码字符串之前添加一个"!"

-U:–unlock:解锁用户的密码
注意:只有文件的属主能更改文件的权限信息

userdel命令:删除用户

userdel[选项]登录

-r:删除用户时一并删除其家目录

image-20220314093539643

(1)[root@zilongyun ~]#
groupadd gentoo && groupadd -g 4000 distro && groupadd -g 4001 peguin && useradd -u 4001 -g gentoo -G distro,peguin gentoo
(2)[root@zilongyun ~]#
useradd -c “Fedora” -s /bin/tcsh fedora
(3)[root@zilongyun ~]#
usermod -md /var/tmp/gentoo gentoo
(4)[root@zilongyun ~]#
groupadd netadmin && usermod -aG netadmin gentoo
passwd命令:密码管理命令

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warn‐
days] [-i inactivedays] [-S] [–stdin] [username]

(1)passwd:修改用户自己的密码

(2)passwd USERNAME:修改指定用户的密码,但默认仅root有此权限

-l :锁定用户
-u:解锁用户

-d:清除用户的密码

-e DATE:指定用户的过期时间-

-i DAYS:非活动期限,指定的密码过期之后还能使用多长时间

-n DAYS:密码的最短使用期限

-x DAYS:密码的最长使用时间

-w DAYS:警告期限

–stdin:

echo “PASSWORD” |passwd --stdin USERNAME

如果不想输出结果,可以使用&>/dev/null

gpasswd命令:

组密码文件:/etc/gshadow

gpasswd [OPTION]group

-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户

newgrp命令:临时切换指定的组为基本组

newgrp [-] groupname

chage命令:更改用户密码的过期时间

-d:清除用户的密码

-E DATE:指定用户的过期时间

-w DAYS:警告期限

-M DAYS:密码的最长使用时间

-m DAYS:密码的最短使用期限

id命令:用于显示用户的实际和有效的ID

id [OPTION]… [USER]

-u:仅显示有效的uid

-g:仅显示有效的gid(显示的是基本组ID)

-G:显示基本组ID以及附属组ID

-n:显示名字而非ID

su命令:switch user

登录式切换:会通过读取目标的用户的配置文件来重新初始化

su - USERNAME

su -l USERNAME

非登录式切换:不·通过读取目标的用户的配置文件来重新初始化

su USERNAME

注意:管理员可无密码切换至其他任何用户

-c选项:-c “COMMAND” :仅以指定用户的身份运行此处指定的命令

其他几个命令:

chsh,chfn,finger,whoami,pwck,grpck

chsh:修改登录SHELL

chfn:修改你的finger信息

finger:用户信息查找程序(yum环境下,使用yum install finger -y 安装即可)

whoami:打印有效的用户标识(我是谁?)

pwck:检查密码文件的完整性

检查项目有:

   ·   正确的字段数
   
   ·   一个唯一且有效的用户名

   ·   一个有效的用户和组标识符

   ·   有效的主组

   ·   有效的主目录

   ·   有效的登录 shell

grpck:检查组文件的完整性

检查的项目有:

   ·   正确的字段数

   ·   一个唯一且有效的组名

   ·   a valid group identifier (/etc/group only)

   ·   a valid list of members and administrators

   ·   a corresponding entry in the /etc/gshadow file (respectively
       /etc/group for the gshadow checks)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值