linux中添加一个用户到指定用户组的两种方式,修改一个用户到指定用户组的一种方式
添加一个用户到指定用户组:
gpasswd –a 用户名 组名
usermod –G 组名 用户名
//第一种:gpasswd –a 用户名 组名
[root@localhost ~]# id user1
uid=501(user1) gid=501(user1) groups=501(user1)
[root@localhost ~]# gpasswd -a user1 user_group
Adding user user1 to group user_group
[root@localhost ~]# id user1
uid=501(user1) gid=501(user1) groups=501(user1),500(user_group)
//第二种:usermod –G 组名 用户名
[root@localhost ~]# id user1
uid=501(user1) gid=501(user1) groups=501(user1)
[root@localhost ~]# usermod -G user_group user1
[root@localhost ~]# id user1
uid=501(user1) gid=501(user1) groups=501(user1),500(user_group)
很显然,这两种方式得到的结果是一样的。其实对于上面两种方式正确来说是将用户组添加到指定用户的用户附加组中。
但是这个使用时候我们创建文件得到所属的组还是原来的user1组。可以使用newgrp来切换用户组,但是这个newgrp切换用户组只是临时切换的,当账号重新登录后就会变回去的。这个情况我们可以使用id和id 用户名 命令看出来。
[user1@localhost ~]$ touch file1
[user1@localhost ~]$ ls -l
total 0
-rw-rw-r--. 1 user1 user1 0 Jul 1 11:19 file1
[user1@localhost ~]$ id
uid=501(user1) gid=501(user1) groups=501(user1),500(user_group) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[user1@localhost ~]$ id user1
uid=501(user1) gid=501(user1) groups=501(user1),500(user_group)
[user1@localhost ~]$ newgrp user_group
[user1@localhost ~]$ touch file2
[user1@localhost ~]$ ls -l
total 0
-rw-rw-r--. 1 user1 user1 0 Jul 1 11:19 file1
-rw-r--r--. 1 user1 user_group 0 Jul 1 11:20 file2
[user1@localhost ~]$ id
uid=501(user1) gid=500(user_group) groups=501(user1),500(user_group) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[user1@localhost ~]$ id user1
uid=501(user1) gid=501(user1) groups=501(user1),500(user_group)
修改一个用户到指定用户组
[root@localhost ~]# id user1
uid=501(user1) gid=501(user1) groups=501(user1)
[root@localhost ~]# usermod -g user_group user1
[root@localhost ~]# id user1
uid=501(user1) gid=500(user_group) groups=500(user_group)
对于gpasswd -a命令和usermod -G添加用户到用户组同时会保留这个用户之前所在组信息因为是将用户添加到用户群组中修改的是groups,而usermod会将这个用户之前添加的组信息删除直接修改的是gid,所以如果想让指定用户临时加入指定组,可以使用gpasswd –a或者usermod -G命令。
linux中添加一个用户到指定用户组的两种方式,修改一个用户到指定用户组的一种方式的更多相关文章
- 在linux中添加ftp用户,并设置相应的权限
在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...
- linux中添加ftp用户,并设置相应的权限
在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...
- 如何在Linux中添加新的系统调用
系统调用是应用程序和操作系统内核之间的功能接口.其主要目的是使得用户 可以使用操作系统提供的有关设备管理.输入/输入系统.文件系统和进程控制. 通信以及存储管理等方面的功能,而不必了解系统程序的内部结 ...
- Linux中添加管理员权限问题:xxx is not in the sudoers file. This incident will be reported.
在各个不同版本的linux中添加拥有管理员权限账户有不同的简便方式. 问题: 今天遇见将新添用户添加到root用户组后,运行sudo仍然提示 ”xxx is not in the sudoers fi ...
- 在Windows Server 2008 R2中使用web方式修改域用户账户密码
在Windows的domain环境下,加域的客户端修改账户密码是一件很easy的事情:即使没有加域的客户端如果组织中,使用Exchange邮件系统,借助Exchange的owa也可以轻松修改账户密码. ...
- Window通过Web方式修改域用户密码
如何通过web方式修改域用户密码: 1.在Windows Server 2003上,系统默认提供了iisadmpwd作为一种修改域用户密码的方式 2.在Windows Server 2008上,可以提 ...
- Linux中添加、修改和删除用户和用户组
宽为限 紧用功 功夫到 滞塞通 一.用户: 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组user ...
- linux 中添加自己的库路径的方法 cannot open shared object file: No such file or directory
本文转自:http://blog.csdn.net/maotianwang/article/details/44619197 库文档在连接(静态库和共享库)和运行(仅限于使用共享库的程式)时被使用,其 ...
- arm linux中添加开机启动
微处理器:S5PV210操作系统:linux3.0.8 前言: 在产品中,基本上都要屏蔽arm开发板中linux系统的对外通信,只应该通过产品的相关APP做相关操作. 因此需要把该APP添 ...
随机推荐
- C语言提高代码效率的几种方法
一段完美的代码不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存).设计的代码比实际执行更难.因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中.本文向 ...
- android studio ffmpeg简单使用 (cmake)
编译ffmpeg android studio 新建项目,勾选上 将编译好的libffmpeg.so库扔到src/main/jniLibs/armeabi下(主要这里我只编译了arm的ffmpeg的库 ...
- 字典树(POJ 2503)
它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高. 它有3个基本性质: 根节点不包含字符,除根节点外每一个节点都只包含一个字符: 从根节点到某一节点, ...
- [BZOJ2251/BJWC2010]外星联络
Description 小 P 在看过电影<超时空接触>(Contact)之后被深深的打动,决心致力于寻找外星人的事业.于是,他每天晚上都爬在屋顶上试图用自己的收音机收听外星人发来的信息. ...
- php—常见设计模式
工厂模式 /** * 工厂方法或者类生成对象,而不是在代码中直接new * * 修改类名的时候,不需要每一个实例化语句都修改 * 只需要修改对应的工厂方法 * * Class Factory * @p ...
- ECSHOP商品属性调用到任意页面方法
看到标题有的人觉得这个很复杂,其实这个没那么复杂,直接用下面的方法,就可以在ECSHOP的任意页面调用商品属性. 一)打开includes\lib_insert.php文件,在最后面增加一个函数: f ...
- vs 2017注册码 激活码
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QFVisual Studio 2017(VS2017 ...
- Mysql->order by SQL 根据多个条件排序
Mysql中根据多个条件排序:(各个条件间使用逗号隔开) 首先根据class_name字符串长短升序排列,然后根据开始时间降序排列: SELECT * FROM signup_class s OR ...
- iOS 锁的常用方法
锁的用法在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安 ...
- 刷新本地DNS缓存的方法
http://www.cnblogs.com/rubylouvre/archive/2012/08/31/2665859.html 常有人问到域名解析了不是即时生效的嘛,怎么还是原来的呢?答案就是在本 ...