1.用户模版
使用场景:
员工新入职,下发资料
操作步骤:
1.先进入到 /etc/skel/ 目录,将需要下发的文件放在此目录;
2.新建用户,然后 到用户家目录就可以看到;
eg.
[root@baidu ~]# cd /etc/skel #进入到用户模版的目录
[root@baidu skel]# ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@baidu skel]# touch ygsc #放入你要下发的资料,这里创建了一个用户手册
[root@baidu skel]# useradd bat #添加用户
[root@baidu skel]# cd /home
[root@baidu home]# ls
bat lost+found
[root@baidu home]# cd bat #进入到用户家目录
[root@baidu bat]# ls #查看 显示用户手册文件
ygsc
[root@baidu bat]#
2.用户相关命令
useradd 【-可选参数】 用户名
常用参数:
-u 指定uid
-d 指定用户家目录
-m 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; 建议 -m 和 -d 一块使用。
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 指定 shell
userdel 【-可选参数】 用户名
userdel 只删除用户,家目录依然存在
-r 递归删除(删除用户下所有数据)
usermod 【-可选参数】 用户名
常用参数:
-u uid
-d 家目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 指定shell
3.特殊权限
SUID:(主要用在命令上)
限定:只能设置在二进制可执行程序上面,对目录设置无效
功能:程序运行时的权限从执行者变更成程序所有者
eg.
[root@baidu ~]# su - bat #进入 bat 用户
[bat@baidu ~]$ ll /etc/shadow #查看 /etc/shadow 文件
----------. 1 root root 1022 2月 12 00:32 /etc/shadow
[bat@baidu ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够 #提示权限不够
[bat@baidu ~]$ exit
logout
[root@baidu ~]# which cat #查找 cat 命令的路径
/bin/cat
[root@baidu ~]# chmod u+s /bin/cat #给 cat 命令添加一个 S 的权限
[root@baidu ~]# ll /bin/cat
-rwsr-xr-x. 1 root root 47976 11月 22 2013 /bin/cat
[root@baidu ~]# su - bat #再进入到 bat 用户
[bat@baidu ~]$ cat /etc/shadow #执行查看命令 查看成功!
root:$6$46tnMw26$7ptT4eLjKVzKNczsRHaERhdYBF/XIYn/djeXMATLO3QeajVJtz0Xwtu/fY0Y2PndYDgig3kzqAwsWrEyhIg78/:17573:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
shutdown:*:15980:0:99999:7:::
halt:*:15980:0:99999:7:::
mail:*:15980:0:99999:7:::
uucp:*:15980:0:99999:7:::
operator:*:15980:0:99999:7:::
games:*:15980:0:99999:7:::
gopher:*:15980:0:99999:7:::
ftp:*:15980:0:99999:7:::
nobody:*:15980:0:99999:7:::
dbus:!!:17561::::::
usbmuxd:!!:17561::::::
vcsa:!!:17561::::::
rpc:!!:17561:0:99999:7:::
rtkit:!!:17561::::::
avahi-autoipd:!!:17561::::::
pulse:!!:17561::::::
haldaemon:!!:17561::::::
ntp:!!:17561::::::
apache:!!:17561::::::
saslauth:!!:17561::::::
postfix:!!:17561::::::
abrt:!!:17561::::::
rpcuser:!!:17561::::::
nfsnobody:!!:17561::::::
gdm:!!:17561::::::
sshd:!!:17561::::::
tcpdump:!!:17561::::::
bat:$6$Jbo0cpgM$lXDyuLHjp8J6vqyNjtgfwWcpF9Ga26pZ3cPN1feMeGZNoxQlIO6bdzZyIRarW4RPqIBhM29LZ1qF0A76D2lC21:17573:0:99999:7:::
[bat@baidu ~]$ exit
logout
[root@baidu ~]# chmod u-s /bin/cat #切换到 root 用户取消 S 权限
[root@baidu ~]# ll !$
ll /bin/cat
-rwxr-xr-x. 1 root root 47976 11月 22 2013 /bin/cat
[root@baidu ~]# su - bat #再切回 bat 用户
[bat@baidu ~]$ cat /etc/shadow #再次查看,取消 S 权限的用户又查看不了了
cat: /etc/shadow: 权限不够
[root@baidu ~]#
SGID:(主要用在目录上,对目录和组都有权限)
限定:既可以给二进制可执行程序设置,也可以对目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会
eg.
[root@baidu ~]# mkdir /test #创建一个根下的 test 目录
[root@baidu ~]# groupadd bbt #新建一个用户组
[root@baidu ~]# useradd -G bbt b1 #新建用户 b1 指定 bbt 组
[root@baidu ~]# useradd -G bbt b2 #新建用户 b2 指定 bbt 组
[root@baidu ~]# id b1 #查看 b1 的属组
uid=501(b1) gid=502(b1) 组=502(b1),501(bbt)
[root@baidu ~]# id b2 #查看 b2 的属组
uid=502(b2) gid=503(b2) 组=503(b2),501(bbt)
[root@baidu ~]# ll -d /test #查看 test 目录的属组
drwxr-xr-x. 2 root root 4096 2月 12 00:45 /test
[root@baidu ~]# chown