Ubuntu Server 的用户管理

1、添加用户
(1)创建一个新的用户 username
#sudo useradd username
(2)设置用户 username 的密码
#sudo passwd username

2、添加用户组
创建一个新的组 groupname
#sudo groupadd groupname

3、修改账号
(1)把用户 username 加入到组 groupname 中
#sudo usermod -g groupname username
(2)更改用户密码
先使用户的密码过期
#sudo passwd -e username
用户登录后,会提示要更改密码

=======

1、添加用户
(1)创建一个新的用户 username
#sudo useradd username
(2)设置用户 username 的密码
#sudo passwd username
2、添加用户组
创建一个新的组 groupname
#sudo groupadd groupname
3、修改账号
(1)把用户 username 加入到组 groupname 中
#sudo usermod -g groupname username
(2)更改用户密码
先使用户的密码过期
#sudo passwd -e username
用户登录后,会提示要更改密码
(3)修改文件夹的权限
#sudo chown username:groupname dirname
在Linux中,每个普通用户都有一个帐户,包括用户名,密码和主目录等信息;除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义。
1.增加用户
1)用户帐号信息有关的文件如下:
/etc/passwd—-用户帐号信息
/etc/shadow—-用户帐号信息加密文件
/etc/group—-组信息文件
/etc/default/useradd—-定义默认设置文件
/etc/login.defs—-系统广义设置文件
/etc/skel—-默认的初始配置文件目录
2)例:#useradd jesse (没有任何提示,表明建立成功)
#id jesse (使用id命令查看新建的用户信息)
#passwd jesse (修改用户的密码)
3)每新建一个用户,/etc/passwd文件中都会增加一行信息,其格式为:
用户名:密码:用户ID(UID):组ID(GID):全名:用户目录:Shell类型
4)查看新加入的用户jesse在/etc/passwd文件中的信息行,命令如下:
#grep jesse /etc/passwd
jesse:x:502:502::/home/jesse:/bin/bash
结果表明:用户jesse的uid和gid都为502,主目录为/home/jesse,shell为bash
5)用户可以用-d选项设置新用户的主目录,用-g选项为用户指定新组名,用-G选项把新用户设成系统其他一些组的成员
例如:新建用户squid,使其组名为squidgroup,主目录为/var/myhome,新用户squid也是root和bin的成员,命令如下:
#groupadd squidgroup
#useradd -g squidgroup -d /var/myhome -G root,bin squid
6)显示useradd的默认值,命令如下:
#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
7)总结:仅仅增加一个组,用命令groupadd
查看某一个用户的uid,gid和附加组信息,使用id命令
修改用户口令的命令为passwd
查看用户的详细信息的命令为grep 用户名 /etc/passwd
只有超级用户root才能使用useradd和groupadd命令
除超级用户root外,用户使用passwd命令只能更改自己的口令,不带参数的passwd
2.修改用户帐号
usermod命令根据命令选项修改系统帐号文件里的相应信息。
1)修改密码。普通用户可以用passwd修改自己的密码,只有管理员root才能用passwd username 为其他用户修改密码
2)修改用户shell设置。使用chsh命令可以修改自己的shell,只有管理员才能用chsh username为其他用户修改shell设置(指定的shell必须是列入/etc/shells文件中的shell)
例:将用户jesse的shell改为csh,命令如下:
#usermod -s /bin/csh
3)修改主目录。
例:将用户jesse的主目录更改为/home/jesse,命令如下
#usermod -d /home/jesse jesse
4)如果想将现有主目录的主要内容转移到新的目录,应该使用-m选项:
#usermod -d /new/mulu -m username (注:在Red Hat Linux 2.6.9-42上无-m选项)
5)修改UID。该用户主目录中所拥有的文件和目录都将自动修改UID设置。但是对于主目录外所拥有的文件,只能手工用chown命令修改所权设置。
#usermod -u UID username
6)修改默认组设置
#usermod ig GID username
7)修改帐号的有效期。如果使用了影子口令,则可以使用如下命令来修改一个帐号的有效期:
#usermod -e 12/31/07 username
8)禁用用户帐号,如果只想暂时禁止某个帐号,可以使用下列方法:
a.使用无效的shell.例如将用户的shell改为/bin/false(最好把/bin/false列入/etc/shells文件)
b.使该帐号过期。如果使用影子口令,可使用usermod -e MM/DD/YY username 命令使该帐号过期
c.如果想禁止所有帐号(root帐号当然除外)的访问,可以创建一个名为/etc/nologin的文件,说明系统暂时不允许访问
d.使用usermod -L username,锁定用户
9)删除或禁止用户帐户:userdel jesse
如果想同时删除该用户的主目录以及其中所有内容,要使用-r开关来递归删除。

创建组:
$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 [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组。

在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user1

一、创建用户:

1、使用命令 useradd

例:useradd user1——创建用户user1
    useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期
    用户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID,

例:useradd –u 600 user3

   

2、使用 passwd 命令为新建用户设置密码
例:passwd user1
注意:没有设置密码的用户不能使用。

3、命令 usermod 修改用户账户
例:将用户 user1的登录名改为  u1,
usermod –l u1 user1
例:将用户 user1 加入到 users组中,
usermod –g users user1


例:将用户 user1 目录改为/users/us1
usermod –d /users/us1 user1

4、使用命令 userdel 删除用户账户
例:删除用户user2
userdel user2
例:删除用户 user3,同时删除他的工作目录
userdel –r user3

5、查看用户信息
id命令查看一个用户的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用户的主目录、启动shell、用户名、地址、电话等信息
例:finger user4

二、用户组:

6、命令 groupadd创建用户组
groupadd –g 888 users
创建一个组users,其GID为888

7、命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
例:把 user1加入users组
gpasswd –a user1 users
例:把 user1退出users组
gpasswd –d user1 users

8、命令groupmod修改组
groupmod –n user users       修改组名user为users

9、groupdel删除组
groupdel users    删除组users

猜你喜欢

转载自blog.csdn.net/huapenguag/article/details/81119505