linux用户、组管理

linux用户、组管理

Linux是一个可以实现多用户登陆的操作系统,允许多个用户同时登陆到系统上使用资源。系统根据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境。

用户组的基本概念:
用户(users)和组(group):
系统上的每个进程(运行程序 )都作为特定用户进行。
每个文件都由特定用户拥有。
用户对文件和目录的访问受到限制。
与运行中的进程相关联的用户确定该进程可访问的文件和目录。
(* 用户组group,就是具有相同特征的用户的集合体)

用户的类别:
管理员
普通用户
系统用户
登录用户
组类别2:
用户的基本组
用户的附加组
组类别3:
私有组:组名同用户名,且只包含一个用户;
公共组:组内包含了多个用户。

使用者标识符(GID和UID):
当我们登录Linux主机的时候,我们输入的是用户的帐号,比如root,但其实Linux主机本不认识账号名称,他能认识的只是ID,每一个文件都有属组和属主,所以每一次登录都有两个ID,一个属主(User ID,简称UID),一个属组(Group ID,简称GID)。

UID:
16bits二进制数字:0-65535
管理员:0
普通用户:1-65535
系统用户:1-499(Centos6),1-999(Centos7)
登录用户:500-60000(Centos6),1000-60000(Centos7)
名称解析:名称转换
Username<-------->UID
根据名称解析库 /etc/passwd

GID:
管理员组:0
普通用户组;1-65635
系统用户组:1-499(Centos6),1-999(Centos7)
登陆用户组:500-60000(Centos6),1000-60000(Centos7)
名称解析:groupname<—>gid
解析库: /etc/group

用户组管理:
进程以其发起者的身份运行; 进程对文件的访问权限,取决于发起此进程的用户的权限;系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用
登录系统。

groupadd命令:添加组
groupadd [选项] group_name
-g GID:指定GID;默认是上一个组的GID+1;
-r: 创建系统组;
groupmod命令:修改组属性
groupmod [选项] GROUP
-g GID:修改GID;
-n new_name:修改组名;
groupdel命令:删除组
groupdel [选项] GROUP
useradd命令:创建用户
useradd [选项] 登录名
-u, --uid UID:指定UID;
-g, --gid GROUP:指定基本组ID,此组得事先存在;
-G, --groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
-c, --comment COMMENT:指明注释信息;
-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家
目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r, --system:创建系统用户;
注意:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd -D:显示创建用户的默认配置;
useradd -D 选项: 修改默认选项的值;
修改的结果保存于/etc/default/useradd文件中;

usermod命令:修改用户属性
usermod [选项] 登录
-u, --uid UID:修改用户的ID为此处指定的新UID;
-g, --gid GROUP:修改用户所属的基本组;
-G, --groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
-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:删除用户时一并删除其家目录;

passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-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
gpasswd命令:
组密码文件:/etc/gshadow
gpasswd [选项] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp命令:临时切换指定的组为基本组;
newgrp [-] [group]
-: 会模拟用户重新登录以实现重新初始化其工作环境;

chage命令:更改用户密码过期信息
chage [选项] 登录名
-d:指定密码最后修改日期
-E:密码到期的日期,过了这天,此账号不可用,0表示马上过期,-1表示永不过期
-W:密码过期前,提前收到警告信息的天数
-m:密码可以更改的最小天数。为零代表任何时候都可以更改密码
-M:密码保持有效的最大天数。

id命令:显示用户的真和有效ID;
id [OPTION]… [USER]
-u: 仅显示有效的UID;
-g: 仅显示用户的基本组ID;
-G:仅显示用户所属的所有组的ID;
-n: 显示名字而非ID;

如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.

创建用户 指定选项:
#useradd user02 -u 503 //创建用户usr02,指定uid
#useradd user03 -d /aaa //创建用户user03 指定家目录
#useradd user05 -s /sbin/nologin //创建用户并指定shell
#useradd user07 -G hr,it,fd //创建用户,指定附加组

删除用户:
#userdel user10 //删除用户user10,但不删除用户家目录和mail spool
#userdel -r user2 //删除用户user2,同时删除用户家目录mailspool

用户密码:
[root@nebulalinux03 ~]# passwd alice
[nebula@nebulalinux03 ~]$ passwd

组成员管理:
注意:只针对已存在的用户
#usermod -G hr niuniu2 //覆盖原有的附加组
#usermod -G fd,it niuniu2
#usermod -aG hr niuniu2 //增加新的附加组

补充:
查看当前登录的用户信息:id
查看文件的owner:ll /home/
查看运行进程的username:ps aux |less
查看运行进程的用户:ps -ef |grep sshd,
查看进程:ps -ef |grep httpd
启动进程:systemctl start httpd
查看属组和属主:ll -d httpd
属组属主权限改为root : chown -R root:root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值