Linux的管理工具介绍(2)

分类: 系统管理   出处:iocblog整理  更新时间:2009-05-23   添加到收藏  

    关于在添加新用户时用户组,添加用户时,如果不使用-n 参数,系统会自动建一个与用户名同名的用户组;

    实例七:练习用户有效期限;

    在本例中,我们主要来看看-e参数,这个参数还是比较重要的,是设定用户的帐号什么时候过期;

    在本例中,我们添加了一个帐号,并且设置其帐号在 2005年11月04日之前是有效的,一旦过了这个日期,便停止其登录;

[root@localhost ~]# useradd -e 11/04/2005 cooler 注:添加用户cooler,并设置其有效期为2005年11月04日;
[root@localhost ~]# passwd cooler 注:设置用户cooler密码;
changing password for user cooler.
new unix password: 注:设定cooler的密码;
retype new unix password: 注:核实设定密码;
passwd: all authentication tokens updated successfully. 注:设置成功;

    如何验证-e 是不是真的有效?我写这篇文档的时间是 2005年11月05号,所以添加这个cooler用户肯定是过期的,就是他有密码也不能登录;

    有的弟兄会问,他把有效期的记录放在哪里了呢?其实我们在以前的文档中已经说过了,是写在/etc/shadow文件中了;

    2、adduser 工具;

    edora 系统中,adduser和useradd 用法是一样的,但在 slackware 系统中 adduser 是通过人机交互的方法来添加用户,其实和useradd 加各项参数来自定义添加用户所达到的目的是一样的,只不过在slackware 中,useradd 是以人机交互的提问式的进行;这样我们没有必要知道那么多的参数,一样可以达到自定义添加用户;

[root@localhost ~]# adduser 注:运行adduser命令;
login name for new user []: bluemoon 注:添加新用户 bluemoon
user id ('uid') [ defaults to next available ]: 1200 注:用户的uid ,uid 是唯一的;如果有提示说被占用,就选比较大的uid ,比如1300
initial group [ users ]: users 注:初始化用户组(或主用户组)为users,这个用户组也是可以自己定义的,但用户组必须存在,如果不存在,您可以用groupadd来添加
additional groups (comma separated) []: root,beinan 注:附加用户组,这个也是自己定义的,多个用户组之间用,号分割;
home directory [ /home/bluemoon ] 注:定义用户的家目录位置,也是可以自己定义的,比如/opt/bluemoon ;
shell [ /bin/bash ] 注:所用shell ,此处用的是bash ;
expiry date (yyyy-mm-dd) []: 注:用户的有效日期,如果不设置就直接回车,表示从不过期;如果设置就以2005-11-05这样的格式来输入;
new account will be created as follows: 注:创建的用户情况如下;
---------------------------------------
login name.......: bluemoon
uid..............: 1200
initial group....: users
additional groups: root
home directory...: /home/bluemoon
shell............: /bin/bash
expiry date......: [ never ]
this is it... if you want to bail out, hit control-c. otherwise, press
enter to go ahead and make the account.

    注:在这里按回车就开始创建,如果认为这样不合理,就按ctrl+c 来中断;

    creating new account... 这样就创建好了;系统会自动提示我们修改用户的信息,比如用户的全名、房间号、电话等...... 以及用户的密码;

changing the user information for bluemoon
enter the new value, or press enter for the default
        full name []: bluemoon linux
        room number []: 503
        work phone []: 0411-8888888
        home phone []: 0411-9999999
        other []:
changing password for bluemoon
enter the new password (minimum of 5, maximum of 127 characters)
please use a combination of upper and lower case letters and numbers.
new password: 注:设置用户bluemoon的密码;
re-enter new password: 注:验证一次;
password changed. 注:设置密码成功

    3、通过修改/etc/passwd 管理(添加、删除、修改)用户的方法;

    4、添加用户组命令groupadd ;

    语法格式:

groupadd [-g gid [-o]] [-r] [-f] group

    groupadd 可指定用户组名称来建立新的用户组帐号,需要时可从系统中取得新用户组值。groupadd有下列选项可用。

    -g 后接gid值,除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负,预设值以/etc/login.defs为准;
    -r
    此参数是用来建立系统帐号的gid会比定义在系统档文件上/etc/login.defs 的gid_min来的小。注意useradd此用法所建立的帐号不会建立使用者目录,也不会纪录在/etc/login.defs.的定义值。如果你想要有使用者目录须额外指定-m参数来建立系统帐号,它会自动帮你选定一个小于的gid_min的值,不需要再加上-g参数。

    -f this is force flag.新增一个已经存在的用户组帐号,系统会出现错误讯息然后结束groupadd。如果是这样的情况,不会新增这个用户组(如果是这个情况下,系统不会再新增一次) 也可同时加上-g选项,当你加上一个gid,此时gid就不用是唯一值,可不加-o参数,建好用户组后会显结果(adding a group as neither -g or -o options were specified)。

    其实增加用户组的,用起来还是简单一点为好;比如下面的例子,添加gid为666的用户组google;

[root@localhost ~]# groupadd -g 666 google

    三、passwd 设置或修改用户密码;

    1、passwd 简单说明;

    我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwd或passwd --help ;

passwd [option...]

    passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

    passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;

[root@localhost ~]# passwd 注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;
changing password for user root.
new unix password: 注:请输入新密码;
retype new unix password: 注:验证新密码;
passwd: all authentication tokens updated successfully. 注:修改root密码成功;

    如果是普通用户执行passwd 只能修改自己的密码;

    如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

[root@localhost ~]# passwd beinan 注:更改或创建beinan用户的密码;
changing password for user beinan.
new unix password: 注:请输入新密码;
retype new unix password: 注:再输入一次;
passwd: all authentication tokens updated successfully. 注:成功;

    普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是beinan;

[beinan@localhost ~]$ passwd
changing password for user beinan. 注:更改beinan用户的密码;
(current) unix password: 注:请输入当前密码;
new unix password: 注:请输入新密码;
retype new unix password: 注:确认新密码;
passwd: all authentication tokens updated successfully. 注:更改成功;

    2、passwd 几个比较重要的参数;

[root@localhost beinan]# passwd --help
usage: passwd [option...] <accountname>
  -k, --keep-tokens keep non-expired authentication tokens
                          注:保留即将过期的用户在期满后能仍能使用;
  -d, --delete delete the password for the named account (root only)
                          注:删除用户密码,仅能以root权限操作;
  -l, --lock lock the named account (root only)
                          注:锁住用户无权更改其密码,仅能通过root权限操作;
  -u, --unlock unlock the named account (root only)
                          注:解除锁定;
  -f, --force force operation
                          注:强制操作;仅root权限才能操作;
  -x, --maximum=days maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
  -n, --minimum=days minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
  -w, --warning=days number of days warning users receives before 注:在距多少天提醒用户修改密码;仅能root权限操作;
                          password expiration (root only)
  -i, --inactive=days number of days after password expiration when an 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
                          account becomes disabled (root only)
  -s, --status report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;
                          only)
  --stdin read new tokens from stdin (root only)

    比如我们让某个用户不能修改密码,可以用-l 参数来锁定:

[root@localhost ~]# passwd -l beinan 注:锁定用户beinan不能更改密码;
locking password for user beinan.
passwd: success 注:锁定成功;
[beinan@localhost ~]# su beinan 注:通过su切换到beinan用户;
[beinan@localhost ~]$ passwd 注:beinan来更改密码;
changing password for user beinan.
changing password for beinan
(current) unix password: 注:输入beinan的当前密码;
passwd: authentication token manipulation error 注:失败,不能更改密码;

    再来一例:

[root@localhost ~]# passwd -d beinan 注:清除beinan用户密码;
removing password for user beinan.
passwd: success 注:清除成功;
[root@localhost ~]# passwd -s beinan 注:查询beinan用户密码状态;
empty password. 注:空密码,也就是没有密码;

    注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;

    3、chage 修改用户密码有效期限的命令;

    hage 用语法格式:

    chage [-l] [-m 最小天数] [-m 最大天数] [-w 警告] [-i 失效日] [-e 过期日] [-d 最后日] 用户

    前面已经说的好多了,这个只是一笔带过吧,知道有这个命令就行,自己实践实践再说,大体和psswd有些参数的用法差不多;

    四、删除用户和用户组的工具, userdel和 groupdel 介绍;

    1、userdel 用法;

    userdel 的语法格式:

    userdel [-r] 名称

    userdel很简单,只有一个参数可选 -r ;如果加参数-r ,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;比如我们现在有两个用户bnnb和lanhaitun,其家目录都位于/home目录中,现在我们来删除这两个用户;

[root@localhost ~]# userdel bnnb 注:删除用户bnnb,但不删除其家目录及文件;
[root@localhost ~]# ls -ld /home/bnnb 注:查看其家目录是否存在;
drwxr-xr-x 14 501 501 4096 8月 29 16:33 /home/bnnb 注:存在;
[root@localhost ~]# ls -ld /home/lanhaitun 注:查看lanhaitun家目录是否存在;
drwx------ 4 lanhaitun lanhaitun 4096 11月 5 14:50 /home/lanhaitun 注:存在;
[root@localhost ~]# userdel -r lanhaitun 注:删除用户lanhaitun,其家目录及文件一并删除;
[root@localhost ~]# ls -ld /home/lanhaitun 注:查看是否在删除lanhaitun 用户的同时,也一并把其家目录和文件一同删除;
ls: /home/lanhaitun: 没有那个文件或目录 注:已经删除;

    警告: 请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份;

    其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd 是极为重要的文件,可能您一不小心会操作失误;

    2、groupdel的用法;

    groupdel 是用来删除用户组的;

    语法格式:groupdel 用户组

    比如:

[root@localhost ~]# groupdel lanhaitun

 

上一页 [1] [2] [3] 下一页



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。