主要概念:
1、基本上,一个组就是一个整数组ID(gid)
lzgonline:x:500:
2、每个在系统上运行的进程都是属于一个组的集合(gids)
3、/etc/group 文件把组ID映射到组名称和组成员身上
/etc/group文件存储格式(组名称:组密码:组ID:组成员)
root:x:0:root
root:x:0:root
lzgonline:x:500:
字段解释:
组名称:每个组都有一个组名称
组密码:可以给组提供一个密码,一般很少这么做
组ID:像用户ID一样,linux内核使用ID来识别
组成员:定义组成员用户名列表,用半角逗号隔开
4、文件系统中的每个文件有唯一的组ID,就像拥有唯一的所有者ID一样
4、文件系统中的每个文件有唯一的组ID,就像拥有唯一的所有者ID一样
drwxrwxr-x. 2 lzgonline lzgonline 4096 6月 23 23:47 coding
drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 公共的
drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 公共的
5、用户有一个在/etc/passwd 文件中定义的主要组(第4个字段定义)
root:x:0:0:root:/root:/bin/bash
6、用户可以在/etc/group 文件中定义多个次要组(例从下面可以看到root用户属于多个组)
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
disk:x:6:root
wheel:x:10:root
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
disk:x:6:root
wheel:x:10:root
7、在redhat企业版中,用户的主要组几乎总是与用户名相同
/etc/passwd 文件:lzgonline:x:500:500:liuzhigong:/home/lzgonline:/bin/bash
/etc/group文件: lzgonline:x:500:
8、文件系统上的每个文件有一个用户所有者和一个组所有者
/etc/passwd 文件:lzgonline:x:500:500:liuzhigong:/home/lzgonline:/bin/bash
/etc/group文件: lzgonline:x:500:
8、文件系统上的每个文件有一个用户所有者和一个组所有者
如何在linux中查询一个组有哪些用户?
执行cat /etc/group | less 命令,寻找相应的组名称,查看其最后一个字段即可
如何在linux中查询一个用户属于哪些组?
执行cat /etc/group | grep username 即可(将username替换为查找的用户名)
相关命令讲解:
1、linux id 命令详解
作 用:用于输入username和当前用户的信息
语 法:id [-gGnru][--help][--version][用户名称]
参 数:
-g 或 --group 显示用户所属群组的ID。
-G 或 --groups 显示用户所属附加群组的ID。
-n 或 --name 显示用户,所属群组或附加群组的名称。
-r 或 --real 显示实际ID。
-u 或 --user 显示用户ID。
--help 显示帮助。
--version 显示版本信息。
-g 或 --group 显示用户所属群组的ID。
-G 或 --groups 显示用户所属附加群组的ID。
-n 或 --name 显示用户,所属群组或附加群组的名称。
-r 或 --real 显示实际ID。
-u 或 --user 显示用户ID。
--help 显示帮助。
--version 显示版本信息。
不加任何参数时,该命令报告用户的用户ID、主要组和主要组ID、用户所属的所有组的组名称和组ID
[root@lzgonline ~]# id
uid=0(root) gid=0(root) 组=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
uid=0(root) gid=0(root) 组=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
whoami 命令
作 用:显示当前用户的用户名,与 id -un 等效
[root@lzgonline ~]# whoami
root
[root@lzgonline ~]# id -un
root
root
[root@lzgonline ~]# id -un
root
users、w和who命令
作 用:查看当前都有谁登录了系统
users //简单地打印当前已登录用户列表
[root@lzgonline ~]# users
lzgonline lzgonline lzgonline lzgonline
lzgonline lzgonline lzgonline lzgonline
who //列出当前登录用户的详细信息
[root@lzgonline ~]# who
lzgonline tty1 2011-06-23 22:35 (:0)
lzgonline pts/1 2011-06-23 22:48 (:0.0)
lzgonline pts/2 2011-06-24 01:13 (192.168.229.1)
lzgonline pts/3 2011-06-24 02:31 (192.168.229.1)
lzgonline tty1 2011-06-23 22:35 (:0)
lzgonline pts/1 2011-06-23 22:48 (:0.0)
lzgonline pts/2 2011-06-24 01:13 (192.168.229.1)
lzgonline pts/3 2011-06-24 02:31 (192.168.229.1)
w //列出当前已登录用户,提供最详细的信息
[root@lzgonline ~]# w
03:29:07 up 5:01, 4 users, load average: 1.04, 0.94, 0.51
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
lzgonlin tty1 :0 22:35 5:01m 9.08s 0.17s pam: gdm-passwo
lzgonlin pts/1 :0.0 22:48 4:40m 0.00s 0.00s /bin/bash -l
lzgonlin pts/2 192.168.229.1 01:13 1:09m 0.23s 0.22s sshd: lzgonline
lzgonlin pts/3 192.168.229.1 02:31 1.00s 1.11s 0.70s sshd: lzgonline
03:29:07 up 5:01, 4 users, load average: 1.04, 0.94, 0.51
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
lzgonlin tty1 :0 22:35 5:01m 9.08s 0.17s pam: gdm-passwo
lzgonlin pts/1 :0.0 22:48 4:40m 0.00s 0.00s /bin/bash -l
lzgonlin pts/2 192.168.229.1 01:13 1:09m 0.23s 0.22s sshd: lzgonline
lzgonlin pts/3 192.168.229.1 02:31 1.00s 1.11s 0.70s sshd: lzgonline
linux下用户切换命令
1、su 命令可以让用户切换到其他用户ID(su 代表 switch user 而不是 superuser)
2、su 命令通常用连字符调用,如 su - ,指明用户应该作为新用户有效登录
3、newgrp 命令(sg),让用户切换主要组ID(switch primary group)
需要注意的问题
1、为了使新用户完全登录,su 命令需使用连字符 - 调用,这指定了新用户的Shell应该是登录Shell,登录Shell和非登录Shell之间的区别以及环境变量的使用这里不讨论,只需记住一点:要完全成为新用户,su命令应该使用连字符 - 和用户名
2、切换为root用户使用 su - ,
相关推荐
- **su** `- username`:切换到另一个用户,并加载其环境。 - **su** `- root`:直接切换到root用户。 - **sudo -i**:以root用户身份执行命令。 #### 开发环境 - **gcc**:C/C++语言的编译器。 - **g++**:C++语言...
- **功能**:`install` 命令用于将文件或目录从一个位置复制到另一个位置,并可以同时设置权限和所有权等属性。 - **语法**: - `install [选项] 源文件 目标文件` - `install [选项] 源目录 目标目录` - `...
-F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。 -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的...
- **解释:** 定义了一个 `random_value` 函数来生成随机索引,并根据索引从牌堆中抽取一张牌;`deal_cards` 函数实现了发牌逻辑,通过循环不断产生随机数,直到牌堆为空为止。 以上就是针对北邮2017研究生Linux...
- `vi`:是一个文本编辑器,可以用来创建和编辑文件,如`vi /mnt/myfiles/soft`用于创建并编辑`soft`文件。 - `cp`:用于复制文件,`cp /mnt/myfiles.soft /root`将文件复制到指定位置。 - `umount`:用于卸载...
下面是一个 shell 程序,每天下午 3:20 删除 /ti 目录下的全部子目录和全部文件,每逢星期三下午 4:30 将 /kk 目录下的所有目录和文件归档并压缩为文件 backup.tar.gz,在下午 5:55 将 IDE 接口的 CD-ROM 卸载: ...
`-c`是测试命令`test`的一个选项,用于检测文件是否为字符特殊文件。如果文件是字符设备,`-c`会返回真,否则返回假。如果满足条件,脚本将文件复制到`/dev`目录下。 2. Apache服务器管理脚本: 第二题中的脚本...
- 使用 `crontab` 命令编辑定时任务列表,创建一个名为 `prgx` 的文件。 - 在文件 `prgx` 中添加具体的定时任务指令,如: - `50 16 * * * rm -r /abc/*` 每天下午4:50删除 `/abc` 目录下的所有子目录和文件。 -...
4. 创建一个500M的物理分区,格式化为ext3文件系统,并挂载到/mnt/backup。考生需要掌握fdisk、mkfs.ext3以及mount命令来完成分区和挂载操作。 **第二部分:安装及服务配置** 这部分要求考生安装服务器并进行特定...
**方法2:** 创建一个包含命令的文件,并使用`crontab`命令执行。 **脚本内容:** ```bash 0 * * * sun cp /Cr /user/backup/tmp ``` **知识点解析:** - `00 0 * * sun`: 表示每周日00:00执行。 - `0 * * * sun`:...
- `groupadd clamav`:创建名为`clamav`的用户组。 - `useradd -g clamav clamav`:创建用户`clamav`,并将其加入到`clamav`用户组中。 - **创建日志和病毒库目录**: - `mkdir -p /usr/local/clamav/logs`:...
groupadd -g 786 svn ``` - 后续的所有操作需在备用服务器的`svn`用户下进行。 ##### 3.2 SVN安装配置 **安装准备**: - **用户配置**: - 切换至`svn`用户: ``` su – svn ``` - 创建SVN版本库,主备...
例如,`# groupadd mygroup`创建了一个名为`mygroup`的新组。 #### 为用户和组设置磁盘限额 为了合理利用磁盘空间并防止个别用户过度占用存储资源,Linux提供了磁盘限额功能。磁盘限额可以通过两种方式实现: - ...
要启用sudoless docker访问,请运行以下命令: $ sudo groupadd docker $ sudo gpasswd -a ${USER} docker $ sudo service docker restart 如果您添加到docker组的用户与您登录的用户相同,则您需要注销并重新
通过理论学习和实际操作,每天专注于一个或几个主题,你将在一周内建立起扎实的Linux系统管理基础。记住,实践是检验知识的最好方式,尝试在虚拟机或自己的Linux系统上操作,遇到问题时查阅文档或在线搜索答案,这样...
)**: 脚本的第一行通常会包含一个shebang,它指定了执行该脚本所用的解释器路径。例如`#!/bin/sh`表示该脚本应使用`/bin/sh`来执行。 - 示例:`#!/bin/sh` 2. **变量赋值与使用**: - 变量无需显式声明类型即可...
2. **脚本结构**:一个基本的shell脚本通常包括shebang(#!/bin/bash)用于指定解释器,变量声明,函数定义,以及一系列命令。 3. **控制结构**:如条件语句(if-else,case),循环(for,while,until),以及...
`cron`是一个后台守护进程,用于周期性地执行任务,而`anacron`则为那些不常启动或长时间运行的系统提供了定时任务支持。通过编辑`crontab`文件,我们可以定义任务的具体执行时间,例如每天的特定时刻进行数据库备份...
Samba允许Linux系统与Windows系统进行文件共享,而FTP则提供了一种标准的文件传输协议,使得用户可以通过网络上传和下载文件。 Samba服务器的安装步骤如下: 1. 使用`yum install samba samba-client samba-swat`...