求无法直视的欲望by东君的百度云盘地址下载,谢谢大神们啦!谢谢了谢谢

CentOS 7中添加一个新用户并授权_Linux教程_Linux公社-Linux系统门户网站
你好,游客
CentOS 7中添加一个新用户并授权
来源:Linux社区&
作者:woshimrf
笔记本安装了一个,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他。
创建新用户
创建一个用户名为:linuxidc
[root@localhost ~]
为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:
[root@localhost ~]
更改用户 zhangbiao 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权。而经常需要root用户的权限,这时候sudo可以化身为root来操作。我记得我曾经sudo创建了文件,然后发现自己并没有读写权限,因为查看权限是root创建的。
新创建的用户并不能使用sudo命令,需要给他添加授权。
sudo命令的授权管理是在sudoers文件里的。可以看看sudoers:
[root@localhost ~]# sudoers
bash: sudoers: 未找到命令...
[root@localhost ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz
找到这个文件位置之后再查看权限:
[root@localhost ~]
-r--r----- 1 root root 4251 9月
25 15:08 /etc/sudoers
是的,只有只读的权限,如果想要修改的话,需要先添加w权限:
[root@localhost ~]# chmod -v u+w /etc/sudoers
mode of "/etc/sudoers" changed from 0440 (r--r-----) to 0640 (rw-r-----)
然后就可以添加内容了,在下面的一行下追加新增的用户:
[root@localhost ~]# vim /etc/sudoers
## Allow root to run any commands anywher
#这个是新增的用户
wq保存退出,这时候要记得将写权限收回:
[root@localhost ~]# chmod -v u-w /etc/sudoers
mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)
这时候使用新用户登录,使用sudo:
[linuxidc@localhost ~]$ sudo cat /etc/passwd
[sudo] password for linuxidc:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
第一次使用会提示你,你已经化身超人,身负责任。而且需要输入密码才可以下一步。如果不想需要输入密码怎么办,将最后一个ALL修改成NOPASSWD: ALL。
更多CentOS相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款微信公众号:centoscn
CentOS7用户账户配置
1、这篇博文记录的是CentOS 7 用户账户的配置,包括添加用户、添加用户组、删除用户、删除用户组等。其中包括分析用户的配置文件、目录以及对安全的思考。
2、用户配置方面CentOS 7与以往版本感觉没有差别。
第一部分 认识用户
  Centos 7 系统最小化安装,默认配置,是没有创建其他用户的。作为服务器操作系统,为了安全起见,一般是使用一般用户。这就牵涉到用户、用户组的创建以及删除。
此外,CentOS 7 和其他版本的Linux一样,都具有相应用户的配置文件及目录,如下:
/etc/passwd   
//用户账户信息,可以看出用户名称
/etc/shadow
//用户账户加密后信息,包括但不限于/etc/passwd中的信息
/etc/group
//组账户信息,可以看出组名称
/etc/gshadow
    //组账户安全信息,包括但不限于/etc/group中的信息
/etc/default/useradd //账户创建时默认值
/etc/skel/
//包含默认文件的目录,具体作用尚不清楚
/etc/login.defs
//安全性的默认配置,与上面/etc/default/useradd有区别
  我们看一下比较重要的配置文件/etc/default/useradd,内容如下:
# useradd defaults file
//起始GID值
HOME=/home
//家目录位置
INACTIVE=-1             //有效时间,负值为永久,正数代表天数
SHELL=/bin/bash
//shell路径
SKEL=/etc/skel
//默认配置文件路径
CREATE_MAIL_SPOOL=yes
//是否创建邮件池,具体作用待以后学习
  我们再来看一下/etc/login.defs文件,重点内容如下:
/var/spool/mail
# Password aging controls:
密码期限配置
#&&&&&& PASS_MAX_DAYS&& Maximum number of days a password may be used.
#&&&&&& PASS_MIN_DAYS&& Minimum number of days allowed between password changes.
#&&&&&& PASS_MIN_LEN&&& Minimum acceptable password length.
#&&&&&& PASS_WARN_AGE&& Number of days warning given before a password expires.
PASS_MAX_DAYS&& 99999
PASS_MIN_DAYS&& 0
PASS_MIN_LEN&&& 8
PASS_WARN_AGE&& 7
# Min/max values for automatic uid selection in useradd
最小/最大UID设置
UID_MIN&&&&&&&&&&&&&&&&& 1000
//我们创建的用户的UID从1000开始
UID_MAX&&&&&&&&&&&&&&&& 60000
# Min/max values for automatic gid selection in groupadd
GID_MIN&&&&&&&&&&&&&&&&& 1000
GID_MAX&&&&&&&&&&&&&&&& 60000
CREATE_HOME&&&& yes
//是否创建家目录
# Use SHA512 to encrypt password.
//采用SHA512加密
ENCRYPT_METHOD SHA512
  从文件内容可见,/etc/login.defs&是比较宏观的进行偏重安全方面的配置。
  下面是一些实际过程中常用的命令:
//添加用户
//为用户设置密码
//删除用户
//修改用户信息
//添加用户组
//删除用户组
//修改用户组信息
//显示当前进程用户所属的用户组
第二部分 &创建用户
例子一: 最简单的创建用户
执行如下命令:
useradd test
passwd test
  实例如图,并且系统会对密码做限制,比如长度、复杂度,但是不影响创建。可以理解为&温馨提示&。
  这样一个用户名为test的用户已经创建好了。我们看一下属性。
  执行命令:id test&& //查看用户信息
  我们发现test的uid=1000,gid=1000,位于test用户组,说明缺参数的新建用户,会默认新建一个与用户名同名的用户组并加入其中,我们也注意到UID、GID的值与默认的配置文件中保持一致,可见配置文件是生效的,同样也可以再新建一个用户,看一下UID、GID的值,会看到是1001.可以尝试一下。我们可以切到/home目录下,会看到用户目录,与配置文件设定一致。
例子二:带参数的创建账户
  上个例子我们采用默认配置,只是设置了用户名和密码。这次我们手动设置UID、GID等。首先我们看一下,useradd的参数,如下:
 -b, --base-dir BASE_DIR
新账户的主目录的基目录
-c, --comment COMMENT
新账户的 GECOS 字段
-d, --home-dir HOME_DIR
新账户的主目录
-D, --defaults
显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE
新账户的过期日期
-f, --inactive INACTIVE
新账户的密码不活动期
-g, --gid GROUP
新账户主组的名称或 ID
-G, --groups GROUPS
新账户的附加组列表
-h, --help
显示此帮助信息并推出
-k, --skel SKEL_DIR
使用此目录作为骨架目录
-K, --key KEY=VALUE
不使用 /etc/login.defs 中的默认值
-l, --no-log-init
不要将此用户添加到最近登录和登录失败数据库
-m, --create-home
创建用户的主目录
-M, --no-create-home
不创建用户的主目录
-N, --no-user-group
不创建同名的组
-o, --non-unique
允许使用重复的 UID 创建用户
-p, --password PASSWORD
加密后的新账户密码
-r, --system
创建一个系统账户
-R, --root CHROOT_DIR
chroot 到的目录
-s, --shell SHELL
新账户的登录 shell
-u, --uid UID
新账户的用户 ID
-U, --user-group
创建与用户同名的组
-Z, --selinux-user SEUSER
为 SELinux 用户映射使用指定 SEUSER
  新建一个UID=501,GID=600,30天有效期,家目录为/home/test5的用户test4.
groupadd -g 600
//创建GID=600的用户组test3
useradd -u 501 -g 600 -f 30 -m
-d /home/test5 test4
当我们再次打开用户文件/etc/passwd或者id test4会看到我们自己的配置。
uid=501(test4) gid=600(test3) 组=600(test3)
第三部分 更改用户设置
  不同的 用户需要不同的权限,拥有不同的SHELL,是否允许登录。这个部分,就需要用到usermod命令修改用户配置。我们上个例子中创建过一个test账户,默认SHELL是/bin/bash,是可以登录的。
禁止登录:
usermod -s /sbin/nologin test //-s 指定shell
修改用户名:
usermod -l test88 test //-l 新的用户名
此外还可以家目录、过期天数、更换组、锁定用户、解锁用户等功能,可以查看参数实践。
第四部分&删除用户/组
&  当我们创建用户/组有错误时,可能会删除用户/组,然后再重新创建。我们使用userdel命令来删除用户。
执行命令:
[root@localhost home]# userdel test
[root@localhost home]# useradd test
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
  出现这个问题是因为我们删除用户时,系统为了安全起见并没有删除相关的文件以及目录。我们查看一下userdel参数:
用法:userdel [选项] 登录
-f, --force
force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
-h, --help
显示此帮助信息并推出
-r, --remove
删除主目录和邮件池
-R, --root CHROOT_DIR
chroot 到的目录
-Z, --selinux-user
为用户删除所有的 SELinux 用户映射
  我们可以使用参数-rf&来删除相关文件目录,这一步具有危险性,是否有回滚操作,不是特别清楚。
执行命令:
[root@localhost home]# userdel -rf test
[root@localhost home]# useradd test
  这样,就不会出现提示了。
第五部分 用户安全配置
  在操作系统安全中,用户权限、文件权限也是非常重要。现在就几个小点记录一下。这次目的主要有禁止root用户连接、一般用户使用sudo命令提权。我们在上个步骤中,创建了一个test用户,当我们输入sudo命令时,会提示如下:
test不在 sudoers 文件中。此事将被报告。
解决这个问题,我们只需要在/etc/sudoers 中添加用户test即可,代码如下:
//找到如下一行,在下面添加即可
//这一行是添加的
到这里应该就可以解决问题了。
新增:在虚拟机里面重新安装了一个CentOS 7,实验了一下,确实可以成功。下面是/etc/sudoers 属性:
可以看到拥有setUID权限,任何用户都有x(执行)权限,故可以执行sudo命令。下面的内容就当作是对setUID权限的理解。
ps.因为之前按照网上的资料对其他部分进行了设置,但是感觉并不影响,下面贴出修改的部分及其目的
//修改文件 /usr/bin/sudo 用户及用户组
root:root /usr/bin/sudo
//修改权限为4755,其中4代表以文件所有者执行
chmod 4755 /usr/bin/sudo
上面的命令意思是,将文件/usr/bin/sudo拥有者改为root,当执行时以root身份执行,这也是&4&的含义。如果设置权限时,勿把&4755& 配置为755,就会出现这个错误。
sudo:有效用户 ID 不是 0,sudo 属于 root 并设置了 setuid 位吗?
解决方法呢,就是刚才说的以root(uid=0)身份运行。
在实际环境中,为了防止黑客对root账户进行暴力破解,我们通常禁止root账户SSH远程连接。操作如下:
//修改 /etc/ssh/sshd.config 文件,
#PermitRootLogin yes
PermitRootLogin no
//重启sshd服务
systemctl restart sshd.service
备注:CentOS 7 取消了service 用法,尽管部分情况下还可以使用,但是我就先使用systemctl吧。
  除此之外,我觉得最重要的还是不同用户间的权限分配问题。先暂时留下来,以后根据实际情况添加笔记。
  大家,还可以根据参数,依据实际情况配置。大家可以相互交流。
------分隔线----------------------------

我要回帖

更多关于 不忍直视什么意思 的文章

 

随机推荐