Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组
Linux是一个多用户、多任务的实时操作系统,允许多人同时访问计算机, 并同时运行多个任务。UNIX系统具有稳定、高效、安全、方便、功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算机上。
1.用户管理
- 用户是Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
- 账号管理是指账号的新增、删除和修改、账号规划以及权限的授予等问题。
- 在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
- 标准用户
- Linux系统中的root账号通常用于系统的维护和管理,它对Linux操作系统的所有部分具有不受限制的访问权限。
- 在Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为"标准用户"。这些用户账号除了"root"代表超级用户之外,其余账号都是系统账号,也就是应用程序在执行时的身份。需要注意的是,标准账号是操作系统安装时,自动建立的用户启动相应的应用程序,超级用户在向系统添加普通用户的时候,不能和系统中已有的标准用户同名。
- 超级用户
- 与普通用户对应的就是超级用户了。超级用户就是Linux操作系统中的老大,绝对的牛逼,相比于皇帝有过之而无不及。
- 就算是有些地方对root用户的权限做了限制,但是只要root较真这些权限都能获取过来,只是有时候比较麻烦而已。
2.如何创建一个用户呢 用
使用useradd / adduser命令
必须由超级用户root用户来创建用户
必须要用户名不存在 要是存在的话你再创建就多此一举了
该命令做了下面几件事:
1)在 /etc/passwd 文件中增添了一行记录;
2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录(skeleton:.bashrc, .bash_history, etc.)中的文件拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。
增加用户及相关操作
选项 功能描述
-g [initial_grp] 用于添加用户账号时指定该用户的私有组。如不指定"-g"参数,useradd命令将自动建立与用户账号同名的组作为该账号的私有组。
-G [grp...] 用于添加进附属组
在"-g"选项时,其语法格式如下:
useradd –g 组名 用户名
-D 用于显示或设置useradd命令所使用的默认值
在"-D"选项中,如果是用来修改useradd命令所使用的默认值,那么该命令使用的语法格式如下:
useradd –D [-g group][-b base][-s shell][-f inactive][-e expire]
在安装oracle数据库的时候创建oracle用户的命令
3.怎么给用户设置一个你想的密码
你想怎么样就怎么样的密码是绝好的。
你想安全,那就@#¥%……&*12345kjdsfjapog齐上阵;
你想简单,那就123456
你想浪漫,那就mm5201314
你想设置成什么样都可。
passwd +用户名
设置你想要的密码
在输入一次你想的密码 需要两次都一样
好的,给test用户密码设置好了。
4.利用su命令切换用户
使用方法
su [用户名]
已经切换到test用户了。
如果要进入别的普通用户账号,可在su命令后直接加上其他账号,然后输入密码。
如果su命令后没有携带用户名,系统默认从当用户切换到超级用户,并提示用户输入超级用户口令。
su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户的主目录。
5.如何退回到切换前的用户 exit
需要返回原来的普通用户账号时,直接输入exit命令即可。
6.如何知道我是谁 ? whoami
7.如何修改用户信息
修改用户账号——usermod
usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。Usermod的命令格式如下:
在命令行下使用 usermod 命令:
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>]
[-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
该命令的各个参数说明如下:
-c<备注> : 修改用户帐号的备注文字。
-d<登入目录>: 修改用户登入时的目录。
-e<有效期限> : 修改帐号的有效期限。
-f<缓冲天数> :修改在密码过期后多少天即关闭该帐号。
-g<群组>: 修改用户所属的群组。
-l <帐号名次> :修改用户帐号的名称
Test用户已经被改名了 叫unixtest了 所以我们切换不到test用户了
他隐姓埋名了。哈哈
8.用户已经没有用处了怎么班
干掉他,删除用户——userdel
userdel命令用于删除指定的用户账号。
使用的语法格式为:
userdel [-r][用户账号]
需要补充说明的是userdel命令可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
其中参数"-f"是用来删除用户登入目录以及目录中所有文件。
下面举例说明该命令的使用方法:
用户主目录被删除
9. id命令
id命令用于显示用户当前的UID,gid以及所属群组的组列表该指令的语法格式为:
id [选项] [用户名称]
该命令所使用的选项参数说明如下:
-g:显示用户所属群组的ID。
-G:显示用户所属附加群组的ID。
-n:显示用户,所属群组或附加群组的名称。
-r:显示实际ID。
-u:显示用户ID。
10. 删除组账号——groupdel
groupdel命令用于删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。该命令的语法格式为:
groupdel [群组名称]
11. groups命令
groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。该命令的语法格式为:
groups 用户名
12.查看哪些用户在使用这个系统
查看登录用户
系统管理员若想知道某一时刻有哪些用户登录到系统,可以使用系统提供的who命令,该命令可以查看当前登录系统的用户及其他相关系统信息。
13.觉得不想使用命令的小伙伴还有救嘛?
鼠标---------------------
在这里你可以对用户和组进行增删改查。
Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组的更多相关文章
- Unix/Linux环境C编程入门教程(32) 环境变量那些事儿
1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...
- Unix/Linux环境C编程入门教程(1) Solaris 11 64bit环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所 ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...
- Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...
- Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...
- Unix/Linux环境C编程入门教程(2) CentOS环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装CentOS并且配置好C/C++开发环境,这是一款Linux. ...
- Unix/Linux环境C编程入门教程(34) 编程管理系统中的用户
1.用户管理相关函数介绍 geteuid(取得有效的用户识别码) 相关函数 getuid,setreuid,setuid 表头文件 #include<unistd.h> #include& ...
- Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间
1.问:知道程序运行时间我们可以做什么? 在<C++应用程序性能优化>一书中,如果大家读过相信大家一定对性能优化这一块非常上心,文中总是对优化前后的时间对比非常直观给我们一个感受. 那么我 ...
随机推荐
- 理解class.forName()(转)
使用jdbc方式连接数据库时会使用一句代码Class.forName(String className).这句话是什么意思呢?首先说一点Class.forName(String className)这 ...
- Mac OS X Mavericks使用手册
基本信息 作者: 施威铭研究室 出版社:清华大学出版社 ISBN:9787302386018 上架时间:2014-12-30 出版日期:2015 年1月 开本:16 版次:1-1 所属分类: 计算机 ...
- Linux 文件系统同步
同步就是将物理内存中dirty的页写入到磁盘中,保证磁盘和物理页之间的内容一致. 触发同步操作的时机: 1.周期性内核线程,扫描脏页,根据一定的规则选择脏页,将页写回到磁盘. 2.如果内核中的脏页过多 ...
- (转)Eclipse 远程调试 WebSphere Application Server (WAS)
目前我们项目中使用的应用服务器多是WebSphere,一直苦于无法进行调试,今天在网上看到一篇,原文是 http://www.cnblogs.com/newstar/archive/2010/04/1 ...
- 将字符串变成大写----C++实现
虽然这个题目很简单,但是也是会范很多错误的,平时你肯定知道,但是在编程的时候就是容易犯傻,而且八匹马都拽不回来... 看来还是要多写写代码..不废话了. 直接贴代码.. #include<ios ...
- 打印log 保存log
using UnityEngine; using System.Collections; using System.IO; using System; using System.Text; names ...
- win7 AnkhSVN 安装报错
重装系统后,需要安装AnkhSVN,结果一直报如下错误 An error occurred during the installation of assembly"Microsoft.VC8 ...
- Android 使用monkey自动测试
很简单的一个monkey使用流程: 首先创建一个monkey脚本test.txt,例如一个简单的反复测试拍照功能的脚本: # Start of Script type= user count= 49 ...
- cocos2d-x 2.2.6中c++通过JNI与java互调
1.HelloCpp.java /**************************************************************************** Copyri ...
- iOS-OC-基础-NSPredicate常用方法
NSpredicate 常用方法 // 谓词的条件查询 > .< .==.!= NSPredicate *predicate1 = [NSPredicate predicateWithFo ...