接51CTO:13 用户组和权限管理3

用户组和权限管理3

一、杂项知识整理

1、硬链接:写源文件可以是相对地址,相对于链接文件。例如

[root@localhost testdir]# ln ../etc/fstab aaa
ln: 无法创建硬链接"aaa" => "../etc/fstab": 无效的跨设备连接
[root@localhost testdir]# ln ../etc/fstab /tmp/aaa

2、cp -r /etc/skel/. /testdir/user1 复制文件夹内的所有文件而不复制..。如果用[root@localhost user]# cp -r /testdir/user.dir/.[^.]*  /tmp/user1,其目标只能是存在的并且只能复制隐藏文件。

3、adduser是useradd的软链接:

[root@localhost default]# ll `which useradd`
-rwxr-x---. 1 root root 114056 3月   6 2015 /usr/sbin/useradd
[root@localhost default]# ll `which adduser`
lrwxrwxrwx. 1 root root 7 7月  19 04:58 /usr/sbin/adduser -> useradd

4、组中有其它用户时删除无法删除组;

5、whoami查看的是当前用户是谁,而who am i查看的是谁在终端登录,即不管用su还是su -登录,只要root登录终端,who am i都显示root。

6、userdel命令:可以在/etc/login.defs文件中更改配置变量。

    -f 强制删除用户账号,即使用户仍然在登录,包括主目录和邮箱和同名的组

    -r 删除主目录和邮箱

7、id命令:查看用户相关信息:

    -u 查看UID

    -g 查看GID

    -G groups

    -n name

[root@localhost testdir]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost testdir]# id -G
0
[root@localhost testdir]# id -u
0

8、换个身份执行命令:su – user -c COMMAND

[root@localhost testdir]# su - user1 -c date
2016年 08月 03日 星期三 10:37:13 CST

9、chfn;chsh指定个人信息和指定shell:

[root@localhost ~]# chfn
Changing finger information for root.
名称 [root]: ^C
[root@localhost ~]# chsh
Changing shell for root.
New shell [/bin/bash]: ^C

10、groupadd

    -g 指定GID号

    -r 创建系统组

        centos7:ID<1000

    [root@localhost ~]# groupadd -r -g 589 servicetest    
    [root@localhost ~]# tail /etc/group
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:user1
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:
    servicetest:x:589:

11、groupmod命令:-n 指定新名字 -g GID;

    groupdel删除组

    gpasswd 更改组密码

        -a USER 将user添加至指定组中

        -d USER 从指定组中移除用户user

        -A user1,user2….设置有管理权限的用户列表

    newgrp命令:临时切换基本组:如果用户本不属于此组,则需要组密码;如果没有设置密码则只有本组用户可以切换。

[user1@localhost ~]$ newgrp user3
密码:
无效的密码。
[user1@localhost ~]$ exit
登出
[root@localhost ~]# gpasswd user3
正在修改 user3 组的密码
新密码:
请重新输入新密码:
[root@localhost ~]# su - user1
上一次登录:三 8月  3 11:20:41 CST 2016pts/0 上
[user1@localhost ~]$ newgrp user3
密码:
[user1@localhost ~]$ groups
user3 user1

二、命令详解及事例

1、当需要同时创建多个用户时,useradd不能实现,其对象只能是一个,所以需要批量建立用户和创建密码:命令newusers和chpasswd,单独给一个用户设置密码也可以用echo user:PASSWD | chpasswd

    按格式新建一user个文件:格式为:用户:x:UID:GID:(注释或描述):/家目录(不存在目录):bash

[root@localhost testdir]# !cat
cat user
user1:x:2223:2223::/home/user1:/bin/bash
user2:x:2224:2224::/home/user2:/bin/bash
user3:x:2225:2225::/home/user3:/bin/bash
user4:x:2226:2226::/home/user4:/bin/bash
user5:x:2227:2227::/home/user5:/bin/bash
user6:x:2228:2228::/home/user6:/bin/bash
[root@localhost testdir]# newusers user

    按格式创建一个passwd文件,内容一一对应:格式为:用户:密码

[root@localhost user1]# cat /testdir/userpasswd 
user1:123456
user2:123456
user3:123456
user4:123456
user5:123456
user6:123456
[root@localhost user1]# cat /testdir/userpasswd | chpasswd

    完成后,将/etc/skel的隐藏文件复制到用户家目录并更改其权限,因为已经做过因此提示覆盖,最后便完成了创建批量用户,无家目录也可以登录但是无配置文件,邮件文件会在收到文件后自动生成,系统用户无家目录和邮箱

[root@localhost user1]# cp -rf /etc/skel/.[^.]* /home/user3
cp:是否覆盖"/home/user3/.bash_logout"? y
"/etc/skel/.bash_logout" -> "/home/user3/.bash_logout"
cp:是否覆盖"/home/user3/.bash_profile"? y
"/etc/skel/.bash_profile" -> "/home/user3/.bash_profile"
cp:是否覆盖"/home/user3/.bashrc"? y
"/etc/skel/.bashrc" -> "/home/user3/.bashrc"
cp:是否覆盖"/home/user3/.zshrc"? y
"/etc/skel/.zshrc" -> "/home/user3/.zshrc"
[root@localhost user1]# chown -R user4:user4 /home/user4
[root@localhost user1]# ll -a /home/user4
总用量 20
drwx------.  2 user4 user4   72 8月   2 01:41 .
drwxr-xr-x. 18 root  root  4096 8月   2 02:26 ..
-rw-r--r--.  1 user4 user4   18 8月   3 08:30 .bash_logout
-rw-r--r--.  1 user4 user4  193 8月   3 08:30 .bash_profile
-rw-r--r--.  1 user4 user4  231 8月   3 08:30 .bashrc
-rw-r--r--.  1 user4 user4  658 8月   3 08:30 .zshrc

2、chmod命令:见下篇

3、usermod命令:用户属性修改:

    -u UID 新UID

    -g GID 新基本组

    -a 添加附加组,只能和-G使用

    -G GROUP 新附加组,可以多个

        直接添加,原来的附加组将会被覆盖;若保留原有,则需要同时使用-a选项表示append;

        因此删除一个用户所有附加组有两种方法:直接使用-G覆盖;或者-G “”,但是两者还是有一些区别的。例如:

    [root@localhost testdir]# usermod  -aG user2,user3,user4 user1    
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:
    user2:x:2224:user1
    user3:x:2225:user1
    user4:x:2226:user1
    [root@localhost testdir]# usermod -G "" user1
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:
    [root@localhost testdir]# usermod -G user1 user1
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:user1
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:

    -s SHELL 新的默认shell

    -c “”  新的默认注释信息

    -d HOME 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家目录数据,同时使用-m选项。

    -l login_name 新的名字

    -L 锁定用户,在/etc/shadow密码栏增加!

        一次只能设定一个!,解锁也解一个,而passwd锁定及解锁一次两个

    -U 解锁

    -e YYYY-MM-DD 指定用户账号过期日期

    -f INACTIVE 设定非活动期限

4、chown命令:见下篇

5、passwd命令:修改指定用户的密码,仅root用户权限;或修改自己的密码:

    -l 锁定指定用户

    -u 解锁指定用户

    -e 强制用户下次登录修改密码:

[root@localhost ~]# passwd -e user3 
正在终止用户 user3 的密码。
passwd: 操作成功

    -n # 指定最短使用期限

    -x # 最大使用期限

    -w # 提前多少天开始警告

    -i # 非活动期限

    –stdin 从标准输入接收用户密码  

[root@localhost ~]# echo "123456789" | passwd --stdin user5
更改用户 user5 的密码 。
passwd:所有的身份验证令牌已经成功更新。

原创文章,作者:SilencePavilion,如若转载,请注明出处:http://www.178linux.com/27622

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • 第一周课程练习

    1、描述计算机的组成及其功能。 计算机由硬件、操作系统、软件三大部分组成。 硬件包括核心CPU(大脑处理中心)、必备电源(心脏动力来源)、硬盘(仓库)内存(中转站)、主板(协调)、网卡、声卡、显卡、风扇、光驱、显示器、鼠标、键盘、麦克风音箱,闪存、蓝牙等。  计算机五大组成部分及功能。   运算器:     …

    Linux干货 2016-08-15
  • Tomcat

    简介 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTT…

    2017-05-25
  • history

    history命令详解

    Linux干货 2018-02-28
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习中

    为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; [ root@centos CA]# …

    Linux干货 2016-09-26
  • linux基础第二周

    1. 用chattr命令防止系统中某个关键文件被修改:# chattr +i /etc/resolv.conf 然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件…

    2017-09-09
  • 磁盘管理之swap,移动设备及dd命令的使用

    首先我们来复习一下前一天的内容 CHS Sector(扇区) 512字节 track(磁道) 63个 2^6个扇区 1024个磁道,10个位存储磁道数 track=cylinder(柱面) cylinder=(容量)sector(512)track(63)head(256)=8M head(磁头) 256 8位存储 MBR的分区方式都是基于柱面为整…

    Linux干货 2016-09-07