码迷,mamicode.com
首页 > 系统相关 > 详细

linux用户管理

时间:2017-07-28 23:45:22      阅读:357      评论:0      收藏:0      [点我收藏+]

标签:实例   文件复制   覆盖   put   id重复   选项   移除   删除用户   完整   

添加用户

useradd或者adduser。其实adduser是useradd的一个软连接。以useradd为例,其用法为 useradd  [option]  USERNAME

1 [root@compute ~]# ll `which adduser`
2 lrwxrwxrwx. 1 root root 7 5月  26 14:21 /usr/sbin/adduser -> useradd

-u  指定新添加用户的UID,不过根据规定,普通用户的UID必须大于499且不能和已存在的UID重复。

1 [root@compute ~]# useradd -u 1010 user1
2 [root@compute ~]# tail -1 /etc/passwd
3 user1:x:1010:1010::/home/user1:/bin/bash

-g 指定新添加用户的基本组,可以使用GID也可以使用组名来为其指明基本组(可以用id命令来查看用户信息)

1 [root@compute ~]# useradd -g root user2
2 [root@compute ~]# id user2
3 uid=1011(user2) gid=0(root) 组=0(root)

-G 指定新添加的用户的附加组,附加组可以有多个,多个附加组之间用逗号隔开。

1 [root@compute ~]# useradd -G user1,root user3
2 [root@compute ~]# id user3
3 uid=1012(user3) gid=1012(user3) 组=1012(user3),0(root),1010(user1)

-d 为新添加的用户指定家目录,默认情况下家目录是/home下的与用户名同名的目录。

-M 不为新用户创建家目录。

-s 为新添加的用户指定默认的shell。(系统中有一个nologin的shell可以禁止某账户登入)

1 [root@compute ~]# useradd -s /sbin/nologin user4
2 [root@compute ~]# su user4
3 This account is currently not available.

可以使用 echo $SHELL 来查看当前用户的shell

-r 添加新用户为系统用户,系统用户的UID在1-499之间,一般不能登入,没有家目录。

注:该命令添加的用户的部分默认参数(比如用户的默认shell)在/etc/default/useradd文件中。

 

查看用户信息

用id命令可以查看用户信息,用法:id  [option]  [USERNAME],不指定用户名时默认用户为当前用户。

-u 查看UID

-g 查看基本组的GID

-G 查看所有组的GIO

-n 和上面的选项组合使用,用于显示名称,而非id号

1 [root@compute ~]# id -u user1
2 1010
3 [root@compute ~]# id -un user1
4 user1
5 [root@compute ~]# id -G user3
6 1012 0 1010
7 [root@compute ~]# id -Gn user3
8 user3 root user1

finger命令也可以查看用户相关信息

1 [root@compute ~]# finger user1
2 Login: user1                      Name: 
3 Directory: /home/user1                  Shell: /bin/bash
4 Never logged in.
5 No mail.
6 No Plan.

 

删除用户

使用userdel命令来删除用户,不过值得注意的是userdel命令默认情况下是不会删除用户的家目录。

 userdel的用法:userdel  [option]  USERNAME

-r 同时删除用户的家目录。

1 [root@compute ~]# ls /home
2 boost  compute  EasyDrcom  libpcap  lost+found  user1  user2  user3  user4
3 [root@compute ~]# userdel user1
4 userdel:组“user1”没有移除,因为它包含其它成员。
5 [root@compute ~]# userdel -r user2
6 [root@compute ~]# ls /home
7 boost  compute  EasyDrcom  libpcap  lost+found  user1  user3  user4

 

修该用户信息

使用usermod来修改用户的账户信息,其用法同useradd。具体实例如下:

 1 [root@compute ~]# id user3
 2 uid=1012(user3) gid=1012(user3) 组=1012(user3),0(root),1010(user1)
 3 [root@compute ~]# usermod -u 505 user3
 4 [root@compute ~]# id user3
 5 uid=505(user3) gid=1012(user3) 组=1012(user3),0(root),1010(user1)
 6 [root@compute ~]# finger user3
 7 Login: user3                      Name: 
 8 Directory: /home/user3                  Shell: /bin/bash
 9 Never logged in.
10 No mail.
11 No Plan.
12 [root@compute ~]# usermod -g 0 -s /bin/tcsh user3 #这里该的基本组必须事先存在
13 [root@compute ~]# !id
14 id user3
15 uid=505(user3) gid=0(root) 组=0(root),1010(user1)
16 [root@compute ~]# !fing
17 finger user3
18 Login: user3                      Name: 
19 Directory: /home/user3                  Shell: /bin/tcsh
20 Never logged in.
21 No mail.
22 No Plan.

-l 参数用于修改用户名

1 [root@compute ~]# usermod -l u3 user3
2 [root@compute ~]# id u3
3 uid=505(u3) gid=0(root) 组=0(root),1010(user1)

注:如果使用-G为用户修改附加组的话,默认情况下会覆盖原有的附加组,如果只想追加新的附加组可以使用 -aG 其中a表示追加。使用 -d 修改用户家目录的时候最好用再配合 -m 使用,其意思是修改家目录的同时把原来家目录下的文件复制一份到目的家目录。

修改用户的登入shell还可以使用 chsh (change shell)命令。其用法为 chsh  USERNAME

可以用pwck来检查用户账号的完整性。

 

修改用户密码

使用passwd命令来修改用户的密码,用法:passwd  [USERNAME]

对于普通用户来说,只能使用passwd命令,用来修改自己的密码。对于管理员来说,不仅可以使用passwd来修改自己的密码,还可以使用passwd  USERNAME 命令来修改别人的密码。

passwd可以使用 --stdin 参数来指明从标准输入来获取密码。

1 [root@compute ~]# passwd user3
2 更改用户 user3 的密码 。
3 新的 密码:
4 无效的密码: 密码未通过字典检查 - 过于简单化/系统化
5 重新输入新的 密码:
6 passwd:所有的身份验证令牌已经成功更新。
7 [root@compute ~]# echo "123456789" | passwd user3 --stdin
8 更改用户 user3 的密码 。
9 passwd:所有的身份验证令牌已经成功更新。

-d 参数可以删除用户的密码。

 

组的创建

组的创建使用groupadd命令,可以使用 -g 指定GID,-r表明改组为系统组。具体用法和useradd类似,以下关于组的操作命令的用法均可参考关于用户操作的命令的用法。

 

组信息修改

groupmod 命令用于修改组信息,-g 修改GID,-n 修改组名。

 

组的删除

groupdel 命令用于删除一个组

 

组添加密码

使用 gpasswd 命令用于修改组密码。组密码主要用于临时改变用户所属的组。

比如下面的代码中,user3用户临时使用了user4组创建了一个b.txt文件

 1 [root@compute ~]# usermod -l user3 u3
 2 [root@compute ~]# gpasswd user4
 3 正在修改 user4 组的密码
 4 新密码:
 5 请重新输入新密码:
 6 [root@compute ~]# su - user3
 7 上一次登录:五 7月 28 06:29:18 CST 2017pts/1 8 [user3@compute ~]$ touch a.txt
 9 [user3@compute ~]$ id
10 uid=505(user3) gid=0(root) 组=0(root),1010(user1) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
11 [user3@compute ~]$ ll
12 总用量 0
13 -rw-r--r--. 1 user3 root 0 7月  28 06:30 a.txt
14 [user3@compute ~]$ newgrp user4
15 密码:
16 [user3@compute ~]$ touch b.txt
17 [user3@compute ~]$ id
18 uid=505(user3) gid=1013(user4) 组=1013(user4),0(root),1010(user1) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
19 [user3@compute ~]$ ll
20 总用量 0
21 -rw-r--r--. 1 user3 root  0 7月  28 06:30 a.txt
22 -rw-r--r--. 1 user3 user4 0 7月  28 06:31 b.txt
23 [user3@compute ~]$ exit
24 exit
25 [user3@compute ~]$ id
26 uid=505(user3) gid=0(root) 组=0(root),1010(user1) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
27 [user3@compute ~]$ exit
28 logout
29 [root@compute ~]# 

注:上面的newgrp用于临时切换基本组,当这个临时组用完要退出时使用exit命令。

linux用户管理

标签:实例   文件复制   覆盖   put   id重复   选项   移除   删除用户   完整   

原文地址:http://www.cnblogs.com/flyor/p/6407275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!