Linux学习之用户管理和组管理

简介:

一、Linux系统上用户和用户组类别

用户类别

1、管理员 uid=0 

2、普通用户 id:1~65535 

2.1、系统用户 id:1~499,一般不允许登陆系统 

2.2、一般用户 id:500~60000 

组类别

1、管理员组 

2、普通组 

2.1、系统组 

2.2、一般组 

基本组:用户的默认组 

私有组:每个用户都有自己的默认组,没有指定所属组,系统默认创建一个和用户名同名的组 

附加组:又称额外组,默认组之外的组 

针对/etc/passwd、 /etc/shadow配置文件,在/etc/default目录下有两个文件是定义创建用户初始化的文件 

有兴趣的可以研究下 

1
2
3
4
[root@lovelace ~] # ll /etc/default/
total 16
-rw-r--r-- 1 root root 1756 Jan 20  2012 nss
-rw------- 1 root root  119 Oct 25  2011  useradd

二、关于用户管理

涉及到的命令有:useradd 、userdel、usermod、passwd、chsh、shfn、finger、id、change 

详情可参考下图:(怎么每次传图片都那么不给力呢开玩笑愤怒…) 

clip_image002

三、关于组管理

涉及到的命令有:groupadd、groupdel、groupmod、gpasswd 

详情可参考下图: 

组管理

四、问题延伸

案例:新建一个用户lovetest,没有创建家目录,然后切换到该用户模式下,发现bash环境有问题,这时我们该怎么做? 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#新建用户,不创建家目录
[root@lovelace ~] # useradd -M lovetest
#验证家目录是否存在
[root@lovelace ~] # ls /home/
kale mark practice scripts  test  test2 user2 user4 user6 user8
lovelace nick python1.py shell test1 user10 user3 user5 user7 user9
#给用户lovetest创建密码
[root@lovelace ~] # passwd lovetest
Changing password  for  user lovetest.
New UNIX password:
Retype new UNIX password:
passwd : all authentication tokens updated successfully.
#切换到lovetest用户下,这时我们将看到如下的结果
[root@lovelace ~] # su -l lovetest
su : warning: cannot change directory to  /home/lovetest : No such  file  or directory
- bash -3.2$  ls
ls : .: Permission denied

碰到这种情况我们该怎么办?解决方法如下:

1
2
3
4
5
6
#把/etc/skel目录复制到/home目录下,并且命名为lovetest
[root@lovelace ~] # cp -r /etc/skel /home/lovetest
#然后给/home/lovetest设置属组属主,注意要使用递归选项
[root@lovelace ~] # chown -R lovetest.lovetest /home/lovetest/
#给/home/lovetest目录设置权限,注意要使用递归选项
[root@lovelace ~] # chmod -R go-rwx /home/lovetest

 

再次切换用户看看效果:

 

1
2
3
4
[root@lovelace ~] # su -l lovetest
[lovetest@lovelace ~]$  ls
[lovetest@lovelace ~]$  pwd
/home/lovetest

五、后记

关于用户管理和组管理的知识点很多,需要我们用心去学习,特别是关于用户时间限制这一块特别重要,希望朋友们要认真学习下。。。。 



本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1201762,如需转载请自行联系原作者

相关文章
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
3天前
|
存储 安全 Linux
|
6天前
|
Linux Shell 数据安全/隐私保护
|
4月前
|
Ubuntu Linux vr&ar
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
162 2
|
24天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
31 1
|
23天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
NoSQL Ubuntu Linux
Linux内核学习
Linux内核学习
74 3
|
2月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
2月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习