一 、用户管理
1.useradd bule

创建用户,用户配置文件赋给blue
相关文件
/etc/skel( 用户家目录中的默认隐藏配置文件)
/etc/login.defs (用户的相关默认属性)i

2.passwd bule


echo redhat | passwd --stdin redhat
(更新密码,从标准输入中)

3.userdel bule
userdel -r bule删除用户时删除用户家目录和用户的邮箱


userdel bule (删除用户,删除不干净)

4.用户环境
查看用户环境

#su (switch user)
su USERNAME不切换用户环境
su - USERNAME切换用户环境


exit 退出

5. usermod修改用户相关信息,
1. id bule查看用户的ID信息

2.useradd -u 1024 heihei (指定UID:2014)

3. usermod -G这个选项会覆盖之前的附加组,

usermod -a -G 追加附加组

4.
-u显示UID
-G显示附加GID
-g显示GID



-l修改登陆名

5. chsh-s修改用户shell


2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh?
useradd -s /bin/tcsh -c "Fedora Community" fedora
5、将mandriva的默认shell改为/bin/bash?
usermod -s /bin/bash mandriva
6、添加系统用户hbase,且不允许其登陆系统?
useradd -r -s /sbin/nologin hbase
6. 组管理
groupaddhaha
usermod –G haha zhangsan
(添加一个附加haha组)



groupdel xixi (删除一个xixi组)

gpasswd haha (修改组密码)

实验1:组密码



newgrp登陆一个新组
使用exit退出新组


gpasswd修改组密码







二.几个重要文件
0./etc/default/useradd
添加用户就是在/etc/passwd、/etc/shadow、/etc/group中添加用户相关信息
默认属性都来自什么地方呢?来自/etc/default/useradd

文件格式 GROUP=100组 HOME=/home家目录 INACTIVE=-1密码宽限期限 EXPIRE=账户过期期限 SHELL=/bin/bash指定shell SKEL=/etc/skel默认文件 CREATE_MAIL_SPOOL=yes邮件配置
1./etc/passwd (所有用户信息)

account用户名 password密码,x为密码占位符,目标为/etc/shadow第二个字段 UID用户ID GID基本组ID,额外组信息在/etc/group文件中 CECOS用户基本信息 HOME DIR用户家目录,系统用户不允许登陆 shell用户的默认shell,/etc/shells保存了所有的合法shell
2. /etc/group (组GID)


组名:组密码:GID:以该组作为额外组的用户名,以逗号为分隔符


影子口令
3./etc/shadow (存放用户,加密后的密码)



4./etc/gshadow (存放组密码)



三、权限
1. umask (查看权限掩码)
文件默认权限为666(文件自己没有执行x权限),目录默认权限为777

umask 055 (更改权限掩码)

622 ?(文件没有执行权)
文件默认666
rw-rw-rw-

2. chown(改变文件或者目录的所属用户和所属组)
chown haha.xixi 2


chown redhat. 3 (用户和组全部变为redhat)

chown .haha 4 (组变为haha)

chgrp xixi 3 (组变为xixi)

3. chmod(改变文件或者目录的权限)
u g o + - = 添加删除权限
1 chmod ugo=rwx 2 (ugo赋值权限)
chmod u=rw- 3






chmod g=r-x 2 (错误,rw-,-rw,r-x尽量不用这种赋值)

chmod o=- 2 (其他人没有权限)


2. chmod u-w 2 (ugo加减权限)

chmod g+r 2 (让组的用户有读的权限)

3. 指定权限位
chmod 433 2 (100011011,,文件2具有433 权限)

chmod g=rwx 2 (文件2的所属组具有rwx权限)

chmod 777 2

4、特殊权限

如果文件原来有执行权限就显示为s,反之显示S
- SUID:进程所属用户权限
chmod u+s 2


- SGID:进程所属组权限
chmod g+s 2



实验1:强制位s
#给touch命令加上用户权限,组权限#
#不同用户使用touch命令,生成的文件所属用户,组不同#






Sticky:
在一个公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件
实验2:冒险位t
#在一个公共目录,每个用户都可以创建文件,
#删除自己的文件,但不能删除别人的文件




5、扩展权限 setfacl
getfacl /test/a (查看权限)

setfacl –m u:xixi:rwx /test/a (修改xixi权限)

setfacl –x u:xixi a (删除xixi的权限)

写过facl命令的文件,有 + 号

实验3 setfacl –m u:xixi:- a
# haha xixi 同属一个组 redhat
存在文件 -rwxrwx--- redhat redhat a.file
如何让haha 可以访问,xixi不可以访问
#


