`
sqiutz
  • 浏览: 70087 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux 用户及用户组

阅读更多

通过修改用户(User)和用户组(Group)配置文件的办法来添加;

由于我们已经在前面说过,可以通过修改配置文件的办法来管理用户,所以此主题应该包括此内容;当然通过用户及用户组管理工具(比如 adduser、userdel、usermod 、userinfo、groupadd 、groupdel 、groupmod等)也是可以的,通过管理工具对用户的管理我们将要在专门一篇文章中介绍;


通过修改用户(User)和用户组(Group)配置文件的方法管理用户之用户的添加流程;

我们先以添加用户为例,对用户的删除和修改都比较简单;


1)修改 /etc/passwd ,添加用户记录;

我们按/etc/passwd的格式的约定来添加新的用户记录;当然您要让一个用户失效,可以删除您想要删除的用户记录;值得注意的是,不能让UID 重复;

比如我想添加lanhaitun 这个用户,我发现UID 508没有用户用,并且我想把其用户组也设置为lanhaitun ,用户组的GID 也设置为508,如果GID 没有占用的话;

我们要打开 /etc/passwd ,在最下面加一行;

lanhaitun:x:508:508::/home/lanhaitun:/bin/bash

 

然后执行pwconv ,让/etc/passwd 和/etc/shadow同步,您可以查看 /etc/shadow的内容是否同步;

[root@localhost beinan]# pwconv

 


2)修改/etc/group

首先,我们得查看是否有lanhaitun用户组,以及GID 508 是否被其它用户组占用;

[root@localhost ~]# more /etc/group |grep lanhaitun
[root@localhost ~]# more /etc/group |grep 508

 

通过查看,我们发现没有被占用;所以我们要添加lanhaitun 的记录到 /etc/group

lanhaitun:x:508:

 

其次,是运行 grpconv 来同步/etc/group 和/etc/gshadow内容,您可以通过查看/etc/gshadow的内容变化确认是不是添加组成功了;

[root@localhost beinan]# grpconv

 


3)创建用户的家目录,并把用户启动文件也复制过去;

创建用户的家目录,我们要以/etc/passwd 中添加的新用户的记录为准,我们在/etc/passwd 中添加新用户lanhaitun ,她的家目录是处于/home/lanhaitun ;另外我们还需要把/etc/skel 目录下的.*隐藏文件复制过去;

 

[root@localhost ~]# cp -R /etc/skel/ /home/lanhaitun
[root@localhost ~]# ls -la /home/lanhaitun/
总用量 48
drwxr-xr-x 3 root root 4096 10月 18 14:53 .
drwxr-xr-x 10 root root 4096 10月 18 14:53 ..
-rw-r--r-- 1 root root 24 10月 18 14:53 .bash_logout
-rw-r--r-- 1 root root 191 10月 18 14:53 .bash_profile
-rw-r--r-- 1 root root 124 10月 18 14:53 .bashrc
-rw-r--r-- 1 root root 5619 10月 18 14:53 .canna
-rw-r--r-- 1 root root 438 10月 18 14:53 .emacs
-rw-r--r-- 1 root root 120 10月 18 14:53 .gtkrc
drwxr-xr-x 3 root root 4096 10月 18 14:53 .kde
-rw-r--r-- 1 root root 658 10月 18 14:53 .zshrc

 


4)改变新增用户家目录的属主和权限;

我们发现新增用户的家目录的属主目前是root ,并且家目录下的隐藏文件也是root权限;

 

[root@localhost ~]# ls -ld /home/lanhaitun/
drwxr-xr-x 3 root root 4096 10月 18 14:53 /home/lanhaitun/

 

所以我们要通过chown 命令来改变/home/lanhaitun目录归属为lanhaitun用户;

 

[root@localhost ~]# chown -R lanhaitun:lanhaitun /home/lanhaitun

 

查看是否已经更换了属主为lanhaitun用户所有;

[root@localhost ~]# ls -ld /home/lanhaitun/
drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/
[root@localhost ~]# ls -la /home/lanhaitun/
总用量 48
drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .
drwxr-xr-x 10 root root 4096 10月 18 14:53 ..
-rw-r--r-- 1 lanhaitun lanhaitun 24 10月 18 14:53 .bash_logout
-rw-r--r-- 1 lanhaitun lanhaitun 191 10月 18 14:53 .bash_profile
-rw-r--r-- 1 lanhaitun lanhaitun 124 10月 18 14:53 .bashrc
-rw-r--r-- 1 lanhaitun lanhaitun 5619 10月 18 14:53 .canna
-rw-r--r-- 1 lanhaitun lanhaitun 438 10月 18 14:53 .emacs
-rw-r--r-- 1 lanhaitun lanhaitun 120 10月 18 14:53 .gtkrc
drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .kde
-rw-r--r-- 1 lanhaitun lanhaitun 658 10月 18 14:53 .zshrc

 

看来已经实现了;

但这样还是不够的,因为/home/lanhaitun/的目录权限可能会过于公开;

drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/

 

我们看到 /home/lanhaitun/ 目录的权限为 drwxr-xr-x ,也就是同组用户和其它用户组所能查看,为了保密,我们有理由把新增用户家目录的权限设置为只有其自己可读可写可执行;于是... ...

[root@localhost ~]# chmod 700 /home/lanhaitun/
[root@localhost ~]# ls -ld /home/lanhaitun/
drwx------ 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/

 

我们用其它用户,当然得把具有超级权限的root用户除外;比如我以beinan用户来查看lanhaitun的家目录会得到如下信息;

[beinan@localhost ~]$ ls -la /home/lanhaitun/
ls: /home/lanhaitun/: 权限不够

 

如此看来,lanhaitun用户的家目录是安全的 ;)

5)设置新增用户的密码;

以上各步骤都就序了,我们得为新增用户设置密码了;要通过passwd 命令来生成;这个没有办法通过修改文件解决;

passwd 的用法:

 

passwd 用户

 

 

[root@localhost ~]# passwd lanhaitun
Changing password for user lanhaitun.
New UNIX password: 注:输入您的密码
Retype new UNIX password: 再输入一次
passwd: all authentication tokens updated successfully. 注:设置密码成功

 


6)测试添增用户是否成功;

您可以用新增用户登录测试,也可以通过su 来切换用户测试;

 

[beinan@localhost ~]$ su lanhaitun
Password:
[lanhaitun@localhost beinan]$ cd ~
[lanhaitun@localhost ~]$ pwd
/home/lanhaitun
[lanhaitun@localhost ~]$ ls -la
总用量 52
drwx------ 3 lanhaitun lanhaitun 4096 10月 18 15:15 .
drwxr-xr-x 10 root root 4096 10月 18 14:53 ..
-rw-r--r-- 1 lanhaitun lanhaitun 24 10月 18 14:53 .bash_logout
-rw-r--r-- 1 lanhaitun lanhaitun 191 10月 18 14:53 .bash_profile
-rw-r--r-- 1 lanhaitun lanhaitun 124 10月 18 14:53 .bashrc
-rw-r--r-- 1 lanhaitun lanhaitun 5619 10月 18 14:53 .canna
-rw-r--r-- 1 lanhaitun lanhaitun 438 10月 18 14:53 .emacs
-rw-r--r-- 1 lanhaitun lanhaitun 120 10月 18 14:53 .gtkrc
drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .kde
-rw------- 1 lanhaitun lanhaitun 66 10月 18 15:15 .xauthOhEoTk
-rw-r--r-- 1 lanhaitun lanhaitun 658 10月 18 14:53 .zshrc
[lanhaitun@localhost ~]$ mkdir testdir
[lanhaitun@localhost ~]$ ls -lh
总用量 4.0K
drwxrwxr-x 2 lanhaitun lanhaitun 4.0K 10月 18 15:16 testdir

 

通过上面一系列动作,我们会发现所创建的lanhaitun用户已经成功;

2、通过修改用户(User)和用户组(Group)配置文件的办法来修改用户或用户组;

我们可以修改/etc/passwd 和/etc/group 来达到修改用户和用户所归属的组,这个过程和添加新用户时差不多;比如我想修改lanhaitun的用户名全称、公司以及电话等信息;我们可以修改/etc/passwd 实现;


1)修改用户信息;

 

lanhaitun:x:508:508::/home/lanhaitun:/bin/bash 注:这是初始记录;

 

我们可以修改为

lanhaitun:x:508:508:lanhaitun wu,Office Dalian,13000000000:/home/lanhaitun:/bin/bash

 

当然我们还可以修改用户的bash 类型,家目录等,当然如果修改家目录,还得进行建家目录、属主和权限的操作,这和前面添加用户的办法在程序上有些是相同的;

修改完成后,我们要进行pwconv 同步,通过finger 来查看用户的信息等;

 

[root@localhost lanhaitun]# pwconv
[root@localhost lanhaitun]# finger lanhaitun
Login: lanhaitun Name: lanhaitun wu
Directory: /home/lanhaitun Shell: /bin/bash
Office: Office Dalian, +1-300-000-0000
Never logged in.
No mail.
No Plan.

 


2)修改用户所归属的组,可以通过/etc/group 修改实现;

当然修改用户和用户组,不仅能通过修改配置文件来实现,还能过过 usermod 及chfn来实现;我将在以后的文档中写一写,也比较简单;您可以通过man来查看用法;在这里我们先讲一讲如何通过修改配置文件来达到目的;

如果我们想把lanhaitun 这个用户归属到root用户组,所以我们还能修改/etc/group 的办法来达到目的;找到/etc/group 中的root开头的一行,按其规划加入lanhaitun;

root:x:0:root,lanhaitun

 

如果不明白,看前面/etc/group的解释,谢谢;

然后执行 grpconv 命令来同步/etc/group 和/etc/gshadow两个文件的内容;

[root@localhost ~]# grpconv

 

查看lanhaitun归属组的信息;

[root@localhost ~]# id lanhaitun
uid=508(lanhaitun) gid=508(lanhaitun) groups=508(lanhaitun),0(root)


3)删除用户及用户组的办法;

 

这个比较简单,我们可以通过删除/etc/passwd 和/etc/group 相应的用户和用户组记录就能达到目的,也能过过userdel 和groupdel 来实现对用户及用户组的删除;

如果是通过修改用户和用户组配置文件的办法来删除用户,就是删除相应的记录就行了,如果不想保留其家目录,删除就是了。

 

[root@localhost ~]# userdel lanhaitun
[root@localhost ~]# userdel -r lanhaitun

 

注:可以用userdel 来删除lanhaitun 用户,我们看到第二个例子中多了一个参数-r ,第一个例子是说只删除lanhaitun用户,其家目录和mail等仍会保存;加上-r 参数,是删除家目录及mail等;所以要小心操作;用userdel 删除用户的同时,也会把其用户组删除;我们可以通过/etc/passwd 和/etc/group 的内容变化来查看;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics