- A+
所属分类:未分类
实例一
创建无密码用户
我们先创建一个xubo的账号,命令如下:
useradd xubo
然后我们看看该用户的一些属性值,用如下:
用户组信息: [xubo@localhost home]$ id xubo uid=1000(xubo) gid=1000(xubo) 组=1000(xubo) 当前shell: [xubo@localhost home]$ echo $SHELL /bin/bash 用户home目录: [xubo@localhost home]$ ls -l /home/ 总用量 0 drwx------ 2 xubo xubo 79 4月 18 06:06 xubo
综上所述,除了密码以及一些权限,基本上都用了
实例二
指定home目录
刚才我们创建了个用户,现在我们想更换一下home目录,命令如下:
useradd -r admin
系统账号,一般是不设置密码的,也就是不让被登录的,一般用于程序部署类使用。
注意:useradd 不会为这种用户创建主目录,无论 /etc/login.defs (CREATE_HOME)中是的默认设置是怎样。如果想为要创建的系统账户创建主目录,需要指定 -m 选项。
实例三
创建用户设置过期时间
设置过期时间,时间的格式为YYYY-MM-DD,命令如下:
useradd -e 2019-4-18 xubogood
然后我们通过chage查看结果如下:
[root@localhost xubo]# useradd -e 2019-4-18 xubogood [root@localhost xubo]# chage -l xubogood 最近一次密码修改时间 :4月 17, 2019 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :4月 18, 2019 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7
如上所示,账号的过期时间为2019-4-18日,这里默认不写的话会按照/etc/default/useradd模板来处理,我们看看该文件内容,顺便说一下,-D参数就是读取的该文件内容,如下:
[root@localhost xubo]# more /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes [root@localhost xubo]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes [root@localhost xubo]#
如上所示:
- INACTIVE=-1意思是否启用账号过期提权,-1表示不启用;
- EXPIRE= 是账号终止日期,不设置或为空表示不启用;
- SKEL=/etc/skel 意思是配置新用户家目录的默认文件存放路径。前文提到的/etc/skel,即当我们用useradd添加用户时,用户家目录下的文件,都是从这里配置的目录中复制过去。
说道这里,有必要给说一下之前遇到多的一个问题,就是有人不小心把home目录给删了,导致该用户找不到主目录以及该用户下的环境变量全没了。这时不要担心,可以从/etc/skel下拷贝过来就OK了,我来给大家演示一下吧,比如我把/home/下的xubo目录删了,如下:
[root@localhost home]# ls -al total 3 drwxr-xr-x. 4 root root 32 Apr 18 06:46 . dr-xr-xr-x. 18 root root 4096 Apr 18 06:19 .. drwx------ 2 xubo xubo 79 Apr 18 06:06 xubo [root@localhost home]# rm -rf xubo [root@localhost home]# su xubo bash-4.2$
通过上面删除xubo目录后,切换到xubo账号下,找不到环境变量了,就成这样了,那么怎么还原呢,如下:
[root@localhost home]# ls [root@localhost home]# mkdir xubo [root@localhost home]# chown -R xubo:xubo xubo [root@localhost home]# cp /etc/skel/.bash* /home/xubo/ [root@localhost home]# su xubo [xubo@localhost home]$
如上所示,还原好了,注意的一点是创建文件夹后要设置成该用户的权限,如果你不知道的话就到/etc/passwd文件中找一下。
实例四
创建用户设置组权限
我们这里创建一个xubo2的用户,home目录指定到/xubo2下,备注为hello xubo ,设置用户id为899,设置组列表为root和xubo两个组,命令如下:
useradd -c "hello xubo" -u 899 -G root,xubo -s /bin/sh -d /xubo2 xubo2
查看结果如下:
[root@]# useradd -c "hello xubo" -u 899 -G root,xubo -s /bin/sh -d /xubo2 xubo2 [root@localhost home]# id xubo2 uid=899(xubo2) gid=1002(xubo2) groups=1002(xubo2),0(root),1000(xubo) [root@localhost home]# grep "xubo2" /etc/passwd xubo2:x:899:1002:hello xubo:/xubo2:/bin/sh
如上所示,这就是指定组了,然后如果没指定组,是什么情况呢,上面的实例都没指定组,那个那些账户的组是哪里来的,这个官方文档是这样说的,如下:
如果没有指定 -g, -N 和 -U 选项,默认行为由 /etc/login.defs 中的 USERGROUPS_ENAB 变量指定
该文件中内容如下:
#邮件路径 MAIL_DIR /var/spool/mail #密码相关的 PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 #用户(普通和系统)ID UID_MIN 1000 UID_MAX 60000 SYS_UID_MIN 201 SYS_UID_MAX 999 #组(普通和系统)ID GID_MIN 1000 GID_MAX 60000 SYS_GID_MIN 201 SYS_GID_MAX 999 #是否创建home目录 CREATE_HOME yes #homeumask UMASK 077 #删除用户的同时是否删除组 USERGROUPS_ENAB yes #加密算法 ENCRYPT_METHOD SHA512
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫