目录
- linux新增用户、指定用户组、家目录、获取sudo权限
- Linux用户的家目录——经典干货
- 总结
Linux新增用户、指定用户组、家目录、获取sudo权限
//系统环境
# cat /etc/RedHat-release
Centos Linux release 7.5.1804 (Core)
# uname -r
3.10.0-862.el7.x86_64
//SELinux 设置
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
//校准时间的定时任务
# crontab -l
01 */3 * * * /usr/sbin/ntpdate time1.aliyun.com && clock -w
//useradd命令的man信息
useradd - 创建一个新用户或更新默认新用户信息
useradd [选项] 登录
useradd -D
useradd -D [选项]
如果使用时不带 -D 选项,useradd 命令使用命令行上指定的值和系统的默认值创建一个新用户。根据命令行选项,useradd
命令也会更新系统文件和创建新用户的主目录并复制初始文件。
默认上,也会为用户创建组 (察看 -g, -N, -U,和 USERGROUPS_ENAB)。
useradd 可以使用的选项有:
-b, --base-dirBASE_DIR
The default base directory for the system if -dHOME_DIR is not specified. BASE_DIR is concatenated with
the account name to define the home directory. The BASE_DIR must exist otherwise the home directory cannot
be created.
如果选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
-c, --commentCOMMENT
任何字符串。通常是关于登录的简短描述,当前用于用户全名。
-d, --home-dir HOME_DIR
The new user will be created using HOME_DIR as the value for the user's login directory. The default is to
append the LOGIN name to BASE_DIR and use that as the login directory name.
-D, --defaults
看下边,“更改默认值”子节。
-e, --expiredateEXPIRE_DATE
用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。
如果没有指定,useradd 将使用 /etc/default/useradd 中 EXPIRE
变量指定的默认过期日期,或者一个空字符串(不过期)。
-f, --inactiveINACTIVE
密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。
如果未指定,useradd 将使用 /etc/default/useradd 中的 INACTIVE 指定的默认禁用周期,或者默认为 -1。
-g, --gidGROUP
用户初始登陆组的组名或号码。组名必须已经存在。组号码必须指代已经存在的组。
如果没有指定, useradd 的行为将依赖于 /etc/login.defs 文件中的 USERGROUPS_ENAB 参数。如果此参数设置为了
yes (或者在命令行上指定了 -U/--user-group),将会为用户创建一个组,组名和登录名相同。如果选项设置为了 no
(或者在命令行上指定了 -N/--no-user-group),useradd 会把新用户的主组设置为 /etc/default/useradd 中 GROUP
变量指定的值,再或者默认是 100。
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]
用户还属于的附加组列表。每个组都用逗号隔开,没有中间的空格。这里的组受到了 -g
选项给定的组同样的限制。默认上,用户只属于初始组。
-h, --help
现实帮助信息并退出。
-k, --skelSKEL_DIR
骨架目录,包含使用 useradd 创建用户时,要复制到用户主目录中的文件和目录。
这个选项只有在指定 -m (或 --create-home) 选项时才有效。
如果此项没有设置,骨架目录使用 /etc/default/useradd 中的 SKEL 的变量或默认为 /etc/skel。
如果可以,也复制 ACL 和扩展属性。
-K, --keyKEY=VALUE
默认覆盖 /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS 及其它)。 例如:-K PASS_MAX_DAYS=-1
可以用于创建一个密码不会过期的系统账户,即使系统账户没有密码。可以指定多个 -K 选项,如:-K UID_MIN=100-K
UID_MAX=499
-l, --no-log-init
不要将用户添加到最近登录和登录失败数据库。
默认
//新增用户testuser赋予root权限
//方法一: 修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
//然后修改用户,使其从属于root组(wheel),命令如下:
#usermod -g root testuser
//修改完毕,现在可以用testuser帐号登录,然后用命令 su - ,即可获得root权限进行操作。
//方法二(推荐使用): 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
testuser ALL=(ALL) ALL
//修改完毕,现在可以用testuser帐号登录,然后用命令 su - ,即可获得root权限进行操作。
//方法三: 修改 /etc/passwd 文件,找到如下行,把UID修改为 0 ,如下所示:
testuser:x:500:500:testuser:/home/user/testuser:/bin/bash
//修改后如下
testuser:x:0:500:testuser:/home/user/testuser:/bin/bash
//保存,用testuser账户登录后,直接获取的就是root帐号的权限。
//创建admin用户并获取sudo权限
//创建用户属组
# groupadd operation
//查看验证
# tail -n 5 /etc/group
//创建用户admin 指定组 operation 指定附加组 root 指定家目录
# useradd -g operation -G root -d /home/user/admin admin
//修改admin目录权限
# chmod -R 766 /home/user/admin
//修改admin用户密码
# passwd admin
//修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,强制保存退出,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
//admin用户如需修改没有权限的文件需要在命令前添加sudo,如
$ sudo touch text.txt
Linux用户的家目录——经典干货
使用过Linux的伙伴儿们都知道Linux为每个用户都提供对应的家目录,路径为 /home/用户名(管理员不同,他的家目录是/root),并且家目录下附送文件(文件夹)若干。
张伙伴儿问:如何查看家目录?
登录后进入终端,直接输入pwd命令“显示当前路径”,显示的路径就是用户的家目录。
王伙伴儿问:如何查看家目录下有哪些文件(文件夹)?
当然是Linux下最常用的命令ls啦。
Desktop Document … …都是蓝色的,都是文件夹。
李伙伴儿问:家目录下只有这些默认建立的文件夹吗?
当然不是,输入ls -al,a是全部的意思,l是列表的意思,将全部文件(文件夹)按列表的方式显示。
白色的是文件标记字符为- 蓝色的是文件夹标记字符为d (此外l 链接文件,b存储接口设备,c穿行端口设备)
赵伙伴儿问:文件名中有点啥意思?
以点“.”开头的文件(文件夹)为隐藏文件(文件夹),这为什么就是只输入ls时他们没有显示出来。
刘伙伴儿问:一个点 两个点 是啥意思?
一个点“.”表示当前目录,两个点“…”表示上一级目录(此外“~”表示家目录)
伙伴儿们,重要的4个文件.bash_history .bash_logout .bashrc .profile
.bash_history:保存本次开机前执行过的全部命令,(本次开机执行的命令当前不会被记录)
.profile:bash启动时执行此文件,其实启动文档有3个.bash_profile,.bash_login,.profile,优先执行 ~/.bash_profile,找不到时,再执行 ~/.bash_login ,还找不到,才执行 ~/.profile,此文件定义命令的路径 (PATH) 与环境变量,可以添加自定义命令,做启动时的工作。
.bashrc:每次执行命令时,都执行此文件,因此可将命令别名、路径添加自定义命令到此文档。
.bash_logout:注销bash时,执行此文件,可以添加自定义命令做退出时的工作。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。