UBUNTU 用户及用户组管理 修改用户和主机名

转载链接:http://blog.sina.com.cn/s/blog_66439a3e0101dm1g.html


一、用户及用户组管理

创建组:
$sudo addgroup ccache

创建用户:
$sudo useradd ccache -g ccache -M

创新wfz用户并创建HOME目录,指定用户组为ccache
$sudo useradd wfz -g ccache -m

增加已存在用户到指定组
$sudo adduser $USER ccache

$sudo adduser dbh ccache
$sudo adduser paul ccache
$sudo adduser wfz ccache

显示用户ID及组信息:
~$ id
uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh)
$ cat /etc/group
ccache:x:1002:dbh,paul,wfz

1. 用户和用户组的管理:

Linux的多用户概念是指多个用户同时可以使用这个系统。

(1)用户帐号文件——passwd

Passwd是一个文本文件(每一行标识1个用户),定义了系统的用户帐号,该文件位于“/etc”目录下。文件中包含了一个系统帐户列表,存放了每个账户一些有用的信息,如用户ID,组ID,主目录,shell等等(用“:”分隔开来)。只定义了用户帐号,而不保存口令(用“x”表示,如果没有sun::则表示没有密码)。真正的密码存放在Shadow文件中,普通用户根本不能读,加密后的密文无法读到就可以提高用户帐号的安全性。

例如:

[root@sun root]# head /etc/passwd

root:x:0:0:root:/root:/bin/bash表示有7个字段:登录名:有无口令:用户ID:组ID:账户备注信息:用户Home目录:登录时用户shell的名称(超级用户有权限修改)

(2)用户口令文件——shadow

每行定义了一个用户信息,行中各字段用:分开,为进一步提高安全性,口令文件存放用户已经加密的口令:*,特殊符号

[root@sun root]# head /etc/shadow

登录名:加密的口令(用*或其他特殊字符表示):上次更改口令距离1970.1.1的天数:口令更改后不可更改的天数:口令更改后必须再更改的天数(有效期):口令失效前警告用户的天数:口令失效后距帐号被查封的天数:帐号被封时距1970.1.1的天数:保留未用。

(3)用户组帐号文件——group

用户组:逻辑的组织用户帐号的集合的方式,用户允许在其组内共享文件,系统每个文件都有一个用户和附属的用户组。使用“ls-l”命令可以查看每个文件的属性和组。

[root@sun root]# head /etc/group

root:x:0:root,tom,mary (组名:组加密口令:GID:组成员列表(用,隔开的每个组用户名))

(4)用户组口令文件——gshadow

用于定义用户组口令,用户组管理员信息。该文件只有超级用户root才可以读取

每行记录信息:

[root@sun root]# head /etc/gshadow

用户组:用户组加密口令:组管理员帐号(管理员有权进行增删帐号):组成员列表

2. 用户和用户组账户维护的命令:

(1)增加用户账户:useradd 用户名

useradd –g 组名 用户名 指定该用户所使用的私有组名,默认是与用户帐号同名的私有组。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire]用于显示和设置useradd该命令所使用的默认值。

例如:#useradd sun //建立用户帐号

#tail -l /etc/passwd //查询passwd中添加的用户账户的信息

#tail –l /etc/shadow

#ls /home //查看所建立帐号的主目录

(2)修改用户帐号属性:usermod [-LU][-c ][-d ][-e ][-f ][-g][-G][-l][-s][-u][用户帐号]

(3)删除用户帐号:userdel [-r][用户帐号] //如果不加参数则只删除用户帐号,不删除文件,否则两者都删除。

userdel [-r][用户帐号] //-r用来删除帐号登入目录和目录中所有文件

举例:#grep sun /etc/passwd //查询用户帐号sun是否存在

#userdel sun //删除用户帐号sun

#grep sun /etc/passwd //再次查询用户帐号sun是否存在

#ll –d /home //查询用户sun主目录是否存在

#userdel –r sun //删除用户的同时,删除其工作主目录

(4) 增加用户组帐号:groupadd [-r][组帐号]

【注意】帐号ID唯一,数值不可为负,预设最小值不得小于500,且每增加一个,组帐号ID逐次自增1。其中-r参数是用来建立系统帐号的。0~499是给系统帐号准备的。

举例:#groupadd magicSun //建立组账户magicSun

#grep magicSun /etc/group //查询group文件中magicSun组账户是否建立

#groupadd –r sysWang //建立系统组账户sysWang

#grep sysWang /etc/group //查询group文件中sysWang系统组账户是否建立

(5)修改组帐号:groupmod [-g ][-n][群组名称]

其中-o表示重复使用群组识别码

(6)删除组帐号:groupdel [群组名称]

【注意】必须先删除组中的用户才能删除该组

(7) 口令维护:passwd [-s][-l][-u][-d][用户名]超级用户可以为每一位新增的用户设置口令,普通用户只能用不带参数的passwd命令来修改自己的口令。其中参数-s表示用于查询指定用户帐号的状态,-l用户锁定帐号的口令,-u解锁帐号口令,-d删除指定帐号的口令。

(8)组用户成员维护:将一个账户添加到组、或将一个账户从组中删除、将一个账户设为组管理员。

添加用户到组:gpasswd –a 用户帐号名 组帐号名

从组中删除用户:gpasswd –d用户帐号名 组帐号名

设置用户为组管理员:gpasswd –A 组管理员用户列表 用户组

(9)用户和组的状态命令:

id [选项] [用户名称] 用于显示用户当前UID,gid以及所属群组的组列表

[选项]参数有:

-g :显示用户所属群组的id

-G:显示用户所属附加群组的id

-n:显示用户所属群组或附加群组的名称

-r:显示实际ID

-u:显示用户ID

whoami 用于显示登录者自身的名称(=id -un)

su [-flmp] [-][-c ][-s][用户帐号]//用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。

groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组


二、 Ubuntu更改用户名及相应的用户主目录

方法1:
  1、修改用户名。
  usermod -l new_username -d /home/new_username -mold_username
用usermod命令来修改用户帐户相关信息,-l指定新的登录名称,-d指定新的主目录,如果同时指定-m选项则移动原来用户主目录的内容到新的用户住目录,最后指定原来的登录用户名。
  2、修改组名
  groupmod -n new_username old_username
groupmod命令用来修改组相关信息,-n用来指定新的组名,用原来的组名作为参数。这里修改的是与用户默认同名的组。
  3、更改用户的全称
  chfn -f new_fullname new_username
chfn命令来修改真实的用户名称和其他相关信息,-f指定新的用户全称,需要修改全称的用户名作为参数
  4、其他修改
更改用户主目录后,有些依赖于绝对路径的程序需要进行相应的修改。firefoxprofile路径下的extensions.ini里面的有依赖于用户名的绝对路径,修改之,用vim打开,然后:%s/old_username/new_username/g,然后:wq即可,prefs.js里面做同样的处理,firefox就可以正常使用了。其他的东西基本不用动就可以了。

方法2:

修改用户名称:

切换到root打开如下两个配置文件

vi /etc/passwd 

把我想改的"xxx"这个用户名改为"cyrec"了,保存并退出 
vi /etc/shadow 
同样把"xxx"改为"cyrec" ,保存并退出 
重启后名字就变成了cyrec@xxx-dest-top:
现在要修改计算机名称xxx-dest-top为YYY-ZZZ:
修改有两步:
[1]修改/etc/hosts:sudo vi /etc/hosts

127.0.0.1      localhost
192.168.76.21   YYY-ZZZ

# The following lines are desirable for IPv6 capable hosts
::1    localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
                                                                             
                                                                             
                     

[2]修改/etc/hostname
内容为

YYY-ZZZ

保存,退出,重启,就可以了。

方法3:

ubuntu 如何修改当前用户名 

以下我列出新建用户变更权限的命令了。

增加用户

sudo adduser用户名(这个命令会建立文件夹到home下,而且会有更多的信息输入)

禁用/启用某个帐户

sudo usermod -L 用户名#锁定用户(L表示lock)

sudo usermod -U 用户名#解锁(U表示unlock)

sudo passwd -l 用户名 #锁定用户(l表示--loginNEW_LOGIN)

sudo passwd -u 用户名 #解锁(u表示uid,new UIDfor the user account)

 

增加用户到admin组,让其有sudo权限

sudo usermod -G admin-a 用户名

      (G表示--groups  即force use GROUP as new primarygroup。-a 表示append即append the user to the supplemental GROUPS)

删除用户 (建议用root登陆删除)

sudo deluser 用户名

修改当前用户的密码 

passwd

修改用户密码 

sudo passwd 用户名

修改用户资料

sudo chfn userid(chfn- 改变你的finger(指纹)讯息,即表示修改此用户的信息,change finger的简写)

如何切换到其他帐号(需要该用户的密码)

su 用户名

如何切换到root帐号

sudo -s

以上提供了相关的命令,相信这些应用会达到自己想要的目的了。此外,也可以在按照左上角的系统->系统管理->用户和组里手动添加用户和更改用户的隶属权限组别了。

具体的信息可以参考官方论坛资料: http://wiki.ubuntu.org.cn/UbuntuSkills中第十项的用户管理了。

方法4:

ubuntu永久修改主机名

 

1、查看主机名

在Ubuntu系统中,快速查看主机名有多种方法:
其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;
其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。

2、临时修改主机名

命令行下运行命令:“hostname 新主机名”
其中“新主机名”可以用任何合法字符串来表示。不过采用这种方式,新主机名并不保存在系统中,重启系统后主机名将恢复为原先的主机名称。
例子:hostname ubuntu-temp
这样主机名字就临时被修改为ubuntu-temp,但是终端下不会立即显示生效后的主机名,重开一个终端窗口(通过ssh连接的终端需要重新连接才可以);


3、永久修改主机名

在Ubuntu系统中永久修改主机名也比较简单。主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。重启系统后,参照上面介绍的快速查看主机名的办法来确认主机名有没有修改成功。

我用的是ubuntu,修改了计算机的名字,当运行sudo ...之后出现如下提示:

sudo: unable to resolve host ubuntu

提示不能解析主机ubuntu,在/etc/hosts中存放了网址的解析,计算机上网时,先访问这个文件。

添加如下:
127.0.0.1 ubuntu  #ubuntu是主机名。

保存之后,解决!


值的指出的是,在其它Linux发行版中,并非都存在/etc/hostname文件。如Fedora发行版将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种Linux发行版。

3、/etc/hostname与/etc/hosts的区别
/etc/hostname中存放的是主机名,hostname文件的一个例子:
v-jiwan-ubuntu-tem

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ping -a 获取不到主机名_网络测试命令——PING

命令功能:Linux系统和windows系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,这样我们就可以根据它ping输出的信息来确定目标主机是否可访问(但这不是绝对的)。有些服务器为了防止通过ping探测到,通过防火墙设…

写在2021: 值得关注/学习的前端框架和工具库

前言最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?[1], 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了这个疑问,但当时的…

万物互联之~RPC专栏

3.RPC引入 上篇回顾:万物互联之~深入篇 Code:https://github.com/lotapp/BaseCode/tree/master/python/6.net/6.rpc/ 其他专栏最新篇:协程加强之~兼容答疑篇 | 聊聊数据库~SQL环境篇 3.1.概念 RPC(Remote Procedure Call):分布式系…

python判断字符大小写转换_Python 字符串大小写转换的简单实例

①所有字母都转换为大写# -*- coding:utf-8 -*-if __name__ "__main__":a hello, world!print(a.upper())输出:HELLO, WORLD!②所有字母都转换为小写# -*- coding:utf-8 -*-if __name__ "__main__":a HELLO, WORLD!print(a.lower())输出&am…

正则表达式如何匹配正反斜杠

转载链接:http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97#.E5.8F.8D.E6.96.9C.E6.9D.A0.E7.9A.84.E9.BA.BB.E7.83.A6 反斜杠的麻烦 在早期规定中,正则表达式用反斜杠字符 ("…

前端进阶必备Node.js,你得了解一下

作为前端开发,工作中肯定离不开 JavaScript ,而 Node.js 是基于 JavaScript 语言和 V8 引擎的 Web 服务器项目,让你可以直接使用 JavaScript 来搭架服务器。而且在 Node 环境下,通过模块化的 JavaScript 代码,加上函数…

Google推出“Google实验室” Ad Innovations

4月1日消息,据国外媒体报道,Google近日推出了Ad Innovations功能,类似于“Google实验室”,但专门用于展示最新的广告技术、方案等,并征求广告主的反馈。 目前Ad Innovations已有数款新功能,Google将按照反馈…

JS中utf8和GBK的字符编码转换

1、PHP中的 json_encode 函数只限编码UTF-8的数据,当转换GBK或者GB2312等编码的数据时,会将汉字转为NULL。 2、JavaScript 中json 的使用: ① 将对象转为json字符串:JSON.stringify(obj)② 将json转为对象:dataObj ev…

tcptracerte参数_TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】

1.IMCP协议介绍前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误&#xf…

[实践系列]Promises/A+规范

前言 [实践系列] 主要是让我们通过实践去加深对一些原理的理解。 实践系列-前端路由 实践系列-Babel原理 有兴趣的同学可以关注 实践系列 。 求star求follow~ 什么是Promise ? Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javas…

Web Components 上手指南

现在的前端开发基本离不开 React、Vue 这两个框架的支撑,而这两个框架下面又衍生出了许多的自定义组件库:Element(Vue)Ant Design(React)这些组件库的出现,让我们可以直接使用已经封装好的组件&…

隐藏网页文件的后缀(IIS测试通过)!

网上很多网站会看到如这样的地址: /content?actadd&id1 /column?actedit&id2 原本是 /content.asp?actadd&id1 /column.asp?actedit&id2 这样的效果就是在iis上做了下手脚,使用了rewrite重写组件,就可以实现。 rewrite.rar转载于:ht…

Linux下查看文件内容的ASCII码以检查内容的编码一致

转载链接:http://blog.csdn.net/tiantang46800/article/details/6460567 ascii查询方式,查看文件以ascii显示,od命令 随着计算机飞速的发展,很多人开始学习Linux,怎样才能学好Linux,一定要学好Linux的命令…

乘基取整法是什么_十进制小数转二进制小数乘2取整法的直观理解

乘2取整法介绍举例:0.35转换成二进制0.3520.7 取0(d1)0.721.4 取1(d2)0.420.8 取0(d3)0.821.6 取1(d4)0.621.2 取1(d5)0.220.4 取0(d6)直到满足规定的位数为止所以(0.35)10(0.d1d2d3d4d5d6)2(0.010110)2这个方法不难掌握,就是有点不好理解&#xf…

如何远程连接Windows和linux服务器

linux的方法在下面 Windows服务器远程连接 登录控制台查看服务器系统是什么系统例如阿里云的ECS服务器 Windows系统可以使用微软自带的远程工具进行连接,可以连接的系统有Windows server 和Windows 7-10 等等系列;Windows系统,例如Windows10系…

URL是什么

URL是什么意思? 悬赏分:0 - 提问时间2006-3-12 08:14我在玩QQ空间的时候,在添加音乐时会有一个添加URL的地方‘~我是想问那是什么意思???提问者: caoyiwang1107 - 魔法学徒 一级 其他…

手把手教你接入前端热门抓包神器 - whistle

大家好,我是若川,今天推荐腾讯前端团队的这篇好文。whistle 是一个基于 Node.js 的跨平台网络调试工具。最近随着 Nohost 的开源,有不少同学问了 whistle 相关的问题,本篇文章将结合几个常见的业务场景介绍如何在本地前端项目开发…

Linux命令之hexdump - ”十六“进制查看器

转载链接:http://codingstandards.iteye.com/blog/805778 用途说明 hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii, decimal, hexadecimal, octal dump“,这也就是本文…

使用数据增强技术提升模型泛化能力

在《提高模型性能,你可以尝试这几招...》一文中,我们给出了几种提高模型性能的方法,但这篇文章是在训练数据集不变的前提下提出的优化方案。其实对于深度学习而言,数据量的多寡通常对模型性能的影响更大,所以扩充数据规…

关于不同用户进入系统报错的请求

我自己搞了个系统,用超级用户进入系统正常,用普通用户进入系统就报错,Microsoft JET Database Engine (0x80040E07) 标准表达式中数据类型不匹配。 /xs/huiyuan/huiyuan_bf.asp, 第 203 行 代码如下请各位高手帮忙 <% if request.Cookies("shiwei_username")"…