【Linux】Linux/Ubuntu系统-用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
来源:互联网 发布:金融大数据平台 编辑:程序博客网 时间:2024/06/04 19:06
转载自毕小朋博客(网址见右图):
在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow 。它们分别与用户的账号,密码,用户组及用户组密码有关。我们创建用户也就是跟这几个文件打交道。
1. 如何新建一个用户?
主要是下面这两个步骤:一. 通过useradd命令完成一个新用户的初始化设置工作
二. 通过passwd为这个新用户设置密码
给系统添加一个用户叫wirelessqa,密码为12345
1. 先添加用户wirelessqa
#oh,my god,需要root权限
再试一次添加用户wirelessqa
没有任何结果说明是没错误
2. 为wirelessqa设置密码
上面说明密码设置成功了,当然我们也可以为上面的用户修改密码,方法是一样的
此时虽然我们已经新建了帐号,但是在home目录下是看不到的
3. 如果想同时在home目录(默认的)创建用户目录,需要用到 -m参数
2. 添加用户(useradd)常用参数
1. useradd默认在/home目录下为新增加的账号建一个主目录,如果想改变主目录存放位置,可以使用useradd的参数-d
例:新建一个用户alex3,主目录放在/home/account里
2. useradd的初始化操作还包括为用户单独建立一个与用户名同名的组(floatboat组)。这叫用户私有组的机制,与默认组机制相对应。
对用户分组一是方便管理,二是可以明确权限。如果想让此用户加入一个已有的组的话,可以使用-g参数。
例: 让alex加入bilaoshi组
还可以使用-G参数使他同时加入多个组
例:让alex加入bilaoshi1和bilaoshi2组:
3. 新建一个账号,指定分组和UID,使用-g 和 -u参数
例:新建一个用户alex3,主目录放在/home/account里
2. useradd的初始化操作还包括为用户单独建立一个与用户名同名的组(floatboat组)。这叫用户私有组的机制,与默认组机制相对应。
对用户分组一是方便管理,二是可以明确权限。如果想让此用户加入一个已有的组的话,可以使用-g参数。
例: 让alex加入bilaoshi组
还可以使用-G参数使他同时加入多个组
例:让alex加入bilaoshi1和bilaoshi2组:
3. 新建一个账号,指定分组和UID,使用-g 和 -u参数
4. 新建一个系统账号,加上参数 -r
3. 添加用户(useradd)默认值
在 linux 中使用 useradd 去新增用户时,一些在 /etc/passwd 中的值是会去参考 /etc/default/useradd 这个文件的。其文件内容基本如下:
4. 修改用户的设置
对现有用户的修改,比较常用的主要是:
1. 修改密码(用passwd) 2.修改用户的登录shell 3.修改用户所属的默认组 4.设置帐号有效期 5.修改用户的说明信息等等 6.修改用户主目录。
1. passwd 用户名 【回车输入密码就可以了】
2. 修改用户的登录shell
使用chsh命令可以修改自己的shell,只有超级用户才能用chsh username为其它用户修改shell设置。
注意,指定的shell必须是列入/etc/shells文件中的shell,否则该用户将不能登陆。
一般,比较常见的shells文件包括下面这些shell:
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
也可以使用usermod命令修改shell信息:
usermod -s /bin/bash bilaoshi
其中/bin/bash和bilaoshi应取相应的shell路径文件名及用户名。
3. 修改用户所属的默认组
这个功能也可以通过usermod命令来实现,使用-g参数,例如把bilaoshi的默认组改为bixiaopeng,可以使用如下命令:
usermod -g bixiaopeng bilaoshi
注意:nobody在类UNIX系统中一般都意味着没有任何权限。
4.设置帐号有效期
如果使用了影子口令,则可以使用如下命令来修改一个帐号的有效期:
usermod -e MM/DD/YY username
例如把用户bilaoshi的有效期定为2013年12月31日:
usermod -e 12/31/13 bilaoshi
注意: 如果把该用户的有效期设为已经过去的时间,就可以暂时禁止该用户登录系统。
5. 修改用户的说明信息
修改用户的说明信息,最简单的方法莫过于直接修改/etc/passwd文件,找到对应的用户记录行,例如下列行:
bilaoshi:x:1002:1002::/home/bilaoshi:/bin/sh
你可以直接在第四个冒号和第五个冒号之间插入该用户的说明就可以了。其实,很多用户设置都可以在这修改,比如该行最后一部分/bin/bash就是用户登录shell的设置。
6. 修改用户主目录
修改用户的主目录主要使用usermod命令的-d参数,例如:
usermod -d /main bilaoshi
这一行将bilaoshi的主目录改到/main。
如果想将现有主目录的主要内容转移到新的目录,应该使用-m开关,如下所示:
usermod -d -m /main bilaoshi
1. 修改密码(用passwd) 2.修改用户的登录shell 3.修改用户所属的默认组 4.设置帐号有效期 5.修改用户的说明信息等等 6.修改用户主目录。
1. passwd 用户名 【回车输入密码就可以了】
2. 修改用户的登录shell
使用chsh命令可以修改自己的shell,只有超级用户才能用chsh username为其它用户修改shell设置。
注意,指定的shell必须是列入/etc/shells文件中的shell,否则该用户将不能登陆。
一般,比较常见的shells文件包括下面这些shell:
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
也可以使用usermod命令修改shell信息:
usermod -s /bin/bash bilaoshi
其中/bin/bash和bilaoshi应取相应的shell路径文件名及用户名。
3. 修改用户所属的默认组
这个功能也可以通过usermod命令来实现,使用-g参数,例如把bilaoshi的默认组改为bixiaopeng,可以使用如下命令:
usermod -g bixiaopeng bilaoshi
注意:nobody在类UNIX系统中一般都意味着没有任何权限。
4.设置帐号有效期
如果使用了影子口令,则可以使用如下命令来修改一个帐号的有效期:
usermod -e MM/DD/YY username
例如把用户bilaoshi的有效期定为2013年12月31日:
usermod -e 12/31/13 bilaoshi
注意: 如果把该用户的有效期设为已经过去的时间,就可以暂时禁止该用户登录系统。
5. 修改用户的说明信息
修改用户的说明信息,最简单的方法莫过于直接修改/etc/passwd文件,找到对应的用户记录行,例如下列行:
bilaoshi:x:1002:1002::/home/bilaoshi:/bin/sh
你可以直接在第四个冒号和第五个冒号之间插入该用户的说明就可以了。其实,很多用户设置都可以在这修改,比如该行最后一部分/bin/bash就是用户登录shell的设置。
6. 修改用户主目录
修改用户的主目录主要使用usermod命令的-d参数,例如:
usermod -d /main bilaoshi
这一行将bilaoshi的主目录改到/main。
如果想将现有主目录的主要内容转移到新的目录,应该使用-m开关,如下所示:
usermod -d -m /main bilaoshi
5. 删除用户账号
此时我的用户已经这么多了那我们想办法删除一个吧
ok,此时用户wirelessqa就被删除了
6. 你还应该知道的事
1. /etc/passwd文件说明
在passwd的文件里,每一行被冒号(":")分成7个部分,分别是:
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
其中:
⒈[用户名]是passwd文件里各记录行唯一的有"唯一性"要求的域。也就是说每一行的第一个区域的内容都不能相同,其它区域就无所谓了。
⒉[密码]区域在以前,保存着一个经过不可逆的哈希算法进行DES加密的13位字符,但不包括单引号和冒号。这13位字符中,前两位是密钥,在加密的 时候随机生成的。由于这个字符串不包括单引号,所以以前有一种不修改密码又禁止用户登录的方式就是在密码前面加一个单引号。值得注意的是,现在由于使用了 shadow口令,在密码区域只有一个x字符。
⒊[UID]虽然是系统用来标志文件归属,确定各种权限的标志,但这个区域的内容并不要求唯一的。比较常见而又与安全问题相关的一个例子是有多个 UID和GID均为0的用户帐号。注意到在该文件最后一行还有一个UID和GID为0的用户imnotroot,虽然它声称自己不是root,但是它却有 和root完全相同的权限,因为系统并非根据[用户名],而是根据UID和GID来分用户的权力的。所以,这种情况无疑为系统埋下了安全的炸弹。但是,当 imnorroot做锁定屏幕等操作的时候,如果它的密码和root的不一样,它将无法解锁,因为系统只是查到第一个UID为0的用户(自然是root) 后,就不在往下查找了——它当UID也是唯一的。
⒋[GID]用户默认的组ID,这个ID可以在文件/etc/group里查到对应的组名。
⒌[身份描述]:就是用户的身份说明,默认的是无任何说明,可人工添加。
⒍[主目录]:用户的主目录,可以使用前面介绍的命令修改。
⒎[登录shell]:用户登录时系统提供的shell
<注意>:[UID]和[GID]小于500的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是UID和GID大于500的。
2. /etc/group文件说明
它总共分四个部分:
[组名]:[密码域]:[GID]:[组员列表]
新组的增加可以使用groupadd newgroupname
1. 由于组一般都不用密码保护,所以虽然看起来密码域有个X字符,其实那只表示使用了SHADOW。
2. 组员列表用逗号分隔各个帐号3. 一个组的组员如果默认登录组就是它的话,那么在组员列表里将不显示这个组员的帐号,例如用如下命令 增加的用户:
在/etc/group文件里bilaoshi的组员列表将不显示这个组员,而只是在passwd文件中的GID被设置为1002。而使用如下命令:
就可以看见相关的组后边加上了bilaoshi帐号。当然我们也可以编辑此文件
0 0
- 【Linux】Linux/Ubuntu系统-用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
- Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)
- Linux userdel --删除用户账号
- Linux 基本常用命令 用户 useradd,userdel,su,passwd
- Linux:MySQL新建用户,授权,删除用户,修改密码
- Linux数据库:MySQL新建用户,授权,删除用户,修改密码
- CentOS Linux 添加用户useradd与删除用户userdel
- CentOS Linux 添加用户useradd与删除用户userdel
- 《Linux系统useradd-passwd添加账号密码讲解及su命令介绍》
- useradd命令:建立用户账号 userdel 删除账号
- Linux passwd --修改使用者的密码
- linux useradd passwd userdel usermod groups chown命令
- linux 创建、修改、删除用户,以及设置密码
- linux 创建用户useradd与adduser 删除用户userdel 创建删除用户组命令
- linux命令--useradd/userdel
- linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
- audio标签的选取和JQ操作音乐的播放和停止
- JavaScript事件类型(二)
- LeetCode:Guess Number Higher or Lower
- 从mysql中取出TimeStamp格式转换
- python3解释器
- 【Linux】Linux/Ubuntu系统-用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
- RS232详解(续)
- 四种常用的标准自定义View方法(下)
- audio标签有的浏览器不支持音乐自动播放
- js高程笔记(变量、作用域及内存问题)
- linux的.so文件
- Android中的线程池
- 链表
- POJ 3254 Corn Fields (状压DP)