Linux用户与用户组
来源:互联网 发布:国外cms 编辑:程序博客网 时间:2024/05/17 04:24
Linux不同于windows,windows可以说基本是个人用户,而对于Linux确不是这样的。Linux是多用户多任务的分时系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。多用户的设定让用户管理变得十分重要。
linux下用户的角色分类
在linux下用户是根据角色定义的,具体分为三种角色:
1. 超级用户:拥有对系统的最高管理权限,默认是root用户。
2. 普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限,例如上面提到的www用户、ftp用户等。
3. 虚拟用户:也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。例如系统默认的bin、adm、nobody用户等,一般运行的web服务,默认就是使用的nobody用户,但是nobody用户是不能登录系统的。
什么是用户?
Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。
每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
什么是用户组?
用户组是具有相同特征用户的逻辑集合。
有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。
用户组的信息存放在/etc/group中:
[root@localhost ~]# cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:lp:x:7:mem:x:8:kmem:x:9:wheel:x:10:cdrom:x:11:mail:x:12:postfix...这里是什么意思呢?
root : x : 0 :组名 : 组密码占位符 : 组编号 : 组中用户列表如果组中用户列表只有一个,且用户名与组名一致,那么就省略。
可以看出来,用户组也是需要密码的。
其中root组编号为0。
1~499为系统预留组编号,预留给安装的软件和服务所使用。
500~NAN给手动创建的用户所使用。
这里的组密码是用占位符的形式出现的,那么真正的密码保存在哪里呢?
在/etc/gshadow中。
[root@localhost ~]# cat /etc/gshadowroot:::bin:::daemon:::sys:::adm:::tty:::disk:::lp:::mem:::kmem:::wheel:::cdrom:::mail:::postfix...这里又是什么意思呢?
root : : :组名 : 组实际密码 : 组管理者 : 组中用户名
其中,如果组实际密码为空,*,!都为空。
用户组的信息我们知道了,那么用户的信息在哪里呢?
用户信息存放在/etc/passwd中。
[root@localhost ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinavahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologinsystemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologinsystemd-network:x:998:996:systemd Network Management:/:/sbin/nologin这个是什么意思呢?
root : x : 0 : 0 : root : /root : /bin/bash用户名: 密码占位符 : 用户编号 : 用户组编号 : 用户注释信息 : 用户主目录 : shell类型同样的,用户的密码也是存放在别的文件当中。存放在/etc/shadow中。
[root@localhost ~]# cat /etc/shadowroot:$6$oXDo/YYptGcAyHLr$Rh.kWkyEUmvwnR8SQbcpGRUZG/tnhF00YYoFISqxVdwYXEyn650Ghcz8rzvn//oZSru9qAk2nfChFG5E0gROC0::0:99999:7:::bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::sync:*:16659:0:99999:7:::shutdown:*:16659:0:99999:7:::halt:*:16659:0:99999:7:::mail:*:16659:0:99999:7:::operator:*:16659:0:99999:7:::games:*:16659:0:99999:7:::ftp:*:16659:0:99999:7:::nobody:*:16659:0:99999:7:::avahi-autoipd:!!:17281::::::systemd-bus-proxy:!!:17281::::::systemd-network:!!:17281::::::...
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志可以看到,实际的密码在这里是看不到,这里采用了单向加密。
为什么要分成两个文件呢?直接把加密的密码放在/etc/passwd中不行吗?
确实是可以的,但是分开两个文件是为了安全。因为需要访问密码需要很高的权限,而用户的信息确实总是需要访问的,所以分开两个文件。
[root@localhost ~]# ll /etc/passwd-rw-r--r--. 1 root root 1382 Apr 25 11:19 /etc/passwd[root@localhost ~]# ll /etc/shadow----------. 1 root root 907 Apr 25 11:19 /etc/shadow
我们现在知道用户和用户组的信息存储方式了,但是用户和用户组的基本操作呢?
基本操作
用户组
增加用户组
groupadd 组名修改用户组
groupmod选项-n改名,-g修改编号等。
删除用户组
groupdel 组名
增加用户
usedadd选项-g指定组,-d指定家目录。如果不指定,则默认创建一个和用户同名的用户组,并设置为其用户组。家目录为/home/名字
修改用户
usermod选项-c修改注释,-l修改用户名
删除用户
userdel
锁定用户:(禁止这个用户登录)
passwd -l 用户名解锁用户:
passwd -u
一个用户只能有一个主要组,可以为它分配其他的附属组,附属组可以分配多个。
添加附属组:
gpasswd -a 用户名 用户组删除附属组:
gpasswd -d 用户名 用户组
newgrp 用户组将当前用户切换进入这个用户组。
进入用户组需要用户组密码。
如何切换用户:
su 用户名需要用户密码
查看你当前用户:
whoami查看用户信息:
id 用户名查看当前用户所属组:
groups设置用户资料:
chfn这个命令采用交互模式,简单的交互即可设置用户资料。
查看用户详细信息:
finger这个命令默认是没有安装的,需要自己安装。
- linux用户与用户组
- linux用户与用户组
- Linux用户与用户组
- Linux用户与用户组
- linux用户与用户组
- Linux用户与用户组
- linux-用户与用户组
- Linux 用户与用户组
- linux用户与用户组
- Linux中的用户与用户组
- Linux系统用户与用户组
- Linux用户与用户组详解
- linux用户与用户组管理
- linux用户与用户组管理
- linux的用户与用户组
- Linux用户与用户组详解
- Linux用户与用户组笔记
- Linux用户与用户组管理
- 通过strpos函数,教会小白们看懂PHP手册!
- vector的内存分配
- struts2使用模型传值
- javaweb学习笔记(六)-Referer防止盗链
- JavaScript入门笔记
- Linux用户与用户组
- 第一次赶项目
- 非抢占的高响应比优先调度算法
- 【Linux】grep命令的使用详解
- Python爬虫全(wei)攻略
- JavaScript内置对象
- 编程基础之流程控制
- 红黑树相对于普通平衡二叉树的优点
- Java虚拟机垃圾回收机制