User and User Groups in Linux
本文梳理了一下Linux用户和用户组的常用的一些命令。
有关的配置文件:
- /etc/group 存储当前系统中所有用户组信息
- /etc/gshadow 存储当前系统中所有用户组的密码
- /etc/passwd 存储当前系统中所有用户的信息
- /etc/shadow 存储当前系统中所有用户的密码信息
配置文件的内容格式说明:
说明:在使用cat /etc/group查看的时候,你会发现有的组最后是不显示用户列表的。那么如何查看用户组的用户名单列表,下面有code。
用户组的添加,修改,删除
- groupadd group_name//添加用户组
- groupmod -n new_name old_name//修改用户组的名字
- groupmod -g 668 group_name//修改组编号
- groupdel group_name//先删除用户再删除用户组
用户的添加,修改,删除
- useradd -g group_name user_name//用户组中添加用户或(gpasswd -a username groupname)(创建用户的时候,没有指定用户组,则系统会创建与用户名相同的用户组)
- useradd -d /home/xxx user_name//个人文件夹
- usermod -c info user_name//添加用户备注信息
- usermod -l new_user old_name//新用户 占用 旧用户(离职)
- usermod -d /home/xxx user_name//修改用户的文件路径
- usermod -g group_name user_name//移动用户
- userdel user_name//删除用户(不会删除个人文件夹)
- userdel -r user_name//用户和文件一同删除
passwd 命令
- passwd -l user_name//锁定用户(违规用户)或者 在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
- passwd -u user_name//解锁用户
- passwd -d user_name//清除用户的密码
- passwd user_name//修改或设置用户密码
主组&附属组
一个用户可以同时属于多个用户组(其中必有一个主组和多个附属组)
- gpasswd -a user_name affiliated_group//用户添加附属组
- newgrp affiliated_group //临时切换到附属组(有密码的需要输入密码)
- gpasswd -d user_name affiliated_group//从附属组中删除用户
- useradd -g main_group -G group1,group2,group3 //
- gpasswd group_name//修改组密码
- gpasswd -d A GROUP 或者 从组中删除用户,编辑/etc/group 找到GROUP1那一行,删除 A
查看命令
- Whoami//我是谁?显示当前登录用户
- id username//显示指定用户信息,包括编号、用户名、主要组编号及名称,附属组列表
- groups user_name//查看用户所属组别
- id -gn//查看当前登录用户,所属组别,或者直接groups
- id -a mark//显示详细的信息,如:uid=500(mark) gid=500(teacher) 组=500(teacher)
- 查看某个组的所有组员 grep 'groupName' /etc/group //查看组的ID awk -F":" '{print $1"tt"$4}' /etc/passwd | grep 'groupId' //将groupId替换为ID
设置用户文件的访问权限
- chmod 命令,功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.
- chgrp命令,功能:改变文件或目录所属的组。chgrp -R groupName fileName
- chown 命令,功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
其他命令
- chfn username//设置用户资料,依次输入用户资料
- finger username//显示用户详细资料
- touch /etc/nologin//暂时禁止所有普通用户的登录,建一个空的文件就可以了。
- su username//切换用户,不加参数(username)代表切换到root
- 用户已经登录,无法删除用户,pkill -u username(粗暴的方法)然后删除(不建议使用)
User and User Groups in Linux的更多相关文章
- 【转】How to Change File Ownership & Groups in Linux
有关linux下 文件权限的问题,一直不是很清楚.(参考菜鸟教程: http://www.runoob.com/linux/linux-file-attr-permission.html) 像上面这样 ...
- Linux 杂记
Linux命令行与图形界面进行切换 1.实时切换 1.1 命令行->图形 startx 1.2 图形->命令行 Ctrl+Alt+F1--F6 2.启动默认 2.1 启 ...
- 100个linux站点
(一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...
- linux cgroups 简介
cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统 ...
- Linux的Namespace与Cgroups介绍
Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...
- Linux核心-hc课堂笔记
windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇 服务器篇 关于文件夹: /boot 引导分区,操作系统启动时要到该目录下 ...
- linux processes identifiers
Linux, like all Unix uses user and group identifiers to check for access rights to files and images ...
- linux常用命令集锦
linux 查看所有用户所在组 vi /etc/group 一个用户可以属于多个组,查看用户所属的组,groups + 用户名 linux 查找文件命令 find -name 文件名 在 ...
- Linux 上配置 AG
SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...
随机推荐
- 深入研究C语言 第一篇(续)
没有读过第一篇的读者,可以点击这里,阅读深入研究C语言的第一篇. 问题一:如何打印变量的地址? 我们用取地址符&,可以取到变量的偏移地址,用DS可以取到变量的段地址. 1.全局变量: 我们看到 ...
- python第三方库学习(2):requests
Make a Request r = requests.get('https://github.com/timeline.json') Passing Parameters In URLspayloa ...
- MyBatis-NET
http://www.codeproject.com/Articles/894127/MyBatis-NET https://mybatis.github.io/mybatis-3/
- ubuntu 下安装boost库
ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...
- kali linux 、 windows、ubuntu三系统的引导问题
'小飞机'是一个学生,所以接触的东西,虽广泛,但并不精通,在此利用随笔,记录自己的一些学习过程,以及自己的想法,既可以有时间自己复习,也可以顺便帮助别人. 近期由于同学的引诱以及男生天生对于破解的好奇 ...
- Smarty缓存的5个知识点
(1)页面缓存:整个页面全局的缓存 需要4个步骤: ①开启缓存 $smarty->caching = true; ②设置缓存的生命周期 $smarty->cache_lifetime ...
- 【Visual Lisp】块专题
;;关于块 ;;(0)模型空间→块表记录→块图元:顶层的是模型空间→模型空间下有很多图元和一些块表记录→块表记录又有很多图元(此时块表记录就相当于模型空间),一个块表记录可以有多个insert块→同一 ...
- 【Thinking in Java】类和对象的初始化过程
在Java中, 当一个类被调用的时候,它的初始化过程是怎么样的呢? 当一个类被实例化的时候,它的初始化过程又是怎样的呢? 为什么static方法不能未经对象就调用非static方法? 下面我们通过例子 ...
- C#匿名函数的坑
在for循环中catch索引 for (int i = 0; i < n; i++) { foo(() =>{ if (i == x) //这里的i始终都是最后一个... { //bala ...
- berkeley db中 dirty read的实现
dirty reader怎样 不被writor block住? 如数据库支持dirty read, 则 所有打开的dbhandle都配置 DB_READ_UNCOMMITTED; 在线程拿到 writ ...