sudo:授权之后,能够让某用户以另外一个用户身份运行命令;
配置文件:/etc/sudoers;其编辑命令visudo
sudo操作日志记录至/var/log/secure中
特别注意:禁止授权修改root密码;! passwd root,passwd [a-Z]*
配置项:
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL :无需密码
某用户|组 通过哪些主机=(以哪个用户的身份) 运行哪些命令
定义别名:格式
Alias_Type NAME = item1,item2,…
NAME:必须使用全大写字母;
Alias_Type有如下几种:
User_Alias:用户别名
Host_Alias:主机别名
Runas_Alias:用户身份别名
Cmnd_Alias:命令别名
常用选项:
-V:显示版本
-h:显示帮助信息
-l:显示其执行sudo所拥有的权限
-b:将执行的命令放在后台执行
-u username:切换至指定用户,默认为root
-k:清除此前记录的用户密码
ftp用户的类型:
匿名用户:anonymous或ftp;其登录目录为其ftp的家目录/var/ftp;
本地用户:账号名称、密码等信息保存在passwd、shadow文件中;其登录目录为该系统用户的家目录下;
虚拟用户:使用独立的账号、密码数据文件;其登录目录为映射用户的家目录;
vsftpd主配置文件/etc/vsftpd/vsftpd.conf
用户认证配置文件:/etc/pam.d/vsftpd
匿名用户的相关配置:
是否开启:anonymous_enable=YES
上传权限:anon_upload_enable=YES
创建目录权限:anon_mkdir_write_enable=YES
其他权限:anon_mkdir_write_enable=YES
本地用户的相关配置
是否开启:local_enable=YES
是否可写:write_enable=YES
上传文件的默认权限:local_umask=022
禁锢所有本地用户在家目录中:chroot_local_user=YES
禁锢指定的本地用户在家目录中:chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list
日志:xferlog_enable=YES、xferlog_std_format=YES、xferlog_file=/var/log/xferlog
改变上传文件的属主:chown_uploads=YES、chown_username=whoever
是否启用控制用户登录的列表文件:userlist_enable=YES、userlist_deny=YES|NO,其默认文件为/etc/vsftpd/user_list
连接限制:
max_clients:最大并发连接数
max_per_ip:每个IP可同时发起的并发连接数
传输速率:
anon_max_rate:所有匿名用户的最大传输速率,单位是字节/秒;
local_max_rate:所有本地用户的最大传输速率,单位是字节/秒;
虚拟用户:所有的虚拟用户会被统一映射为一个指定的系统账号,访问的共享位置为系统账号的家目录;
各虚拟用户可被赋予不同的访问权限:通过匿名用户的权限控制参数进行指定;
虚拟用户账号的存储方式:
1、文本:此文本文件需要被编码为hash格式,编辑文本,奇数行为用户,偶数行为对应用户密码;
2、关系型数据库的表中:即时查询数据库完成用户认证;mariad|mysql依赖于pam_mysql;
centos7:vsftpd+pam+mariadb
1、安装mariadb和vsftpd、pam_mysql
# yum groupinstall “development tools” “server plantform development”
# yum install mariadb-server vsftpd pam-devel openssl-devel
手动编译安装pam_mysql
# tar xf
# ./configure –with-mysql=/usr –with-openssl=/usr –with-pam-mods-dir=/lib64/security
# make && make install
2、创建所需的数据库和表
MariaDB> CREATE DATABASE vsftpd;
MariaDB> GRANT select ON vsftpd.* TO vsftpd@’localhost’ IDENTIFIED BY ‘test123′;
MariaDB> GRANT select ON vsftpd.* TO vsftpd@’127.0.0.1’ IDENTIFIED BY ‘test123’;
MariaDB> CREATE TABLE users (id int AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30) binary NOT NULL,password char(48) binary NOT NULL);
MariaDB> INSERT INTO users (name,password) VALUES (‘tom’,password(‘tom123’));
MariaDB> INSERT INTO users (name,password) VALUES (‘jerry’,password(‘jerry123’));
3、配置使用虚拟用户
pam_service_name=vsftpd.mysql 相对路径为/etc/pam.d/下 需自行创建/etc/pam.d/vsftpd.mysql,如下
auth required pam_mysql.so user=vsftpd passwd=vsftpd123 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=vsftpd123 host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
添加虚拟用户映射的系统用户:vuser
# useradd -s /sbin/nologin -d /ftproot
# chown root:root /ftproot 注意:映射用户的家目录需取消写权限,否则无法登陆;
# chmod go+rx /ftproot
并编辑/etc/vsftpd/vsftpd.conf
local_enable=YES
chroot_local_user=YES
guest_enable=YES 启用来宾用户
guest_username=vuser 虚拟用户映射的用户名
设置不同虚拟用户不同权限:
1、编辑vsftpd.conf,添加
user_config_dir=/etc/vsftpd/vuser_config
2、在该vuser_config目录下创建用户同名文件设置权限;例如:
# vim /etc/vsftpd/vuser_config/tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
nfs:network file system;内核实现的unix-like下的文件共享;借助rpc远程过程调用;nfs:tcp|udp 2049;
命令rpcinfo:用来报告rpc信息;-p 查看各已注册的端口;
nfs服务器:nfsd、moutd、imapd
# yum install nfs-utils
导出目录配置/etc/exports和/etc/exports.d/*.exports
每一行格式:
/path/to/somedir ip|net(export opt1,opt2)
其常用选项:
rw:读写,默认ro(只读)
root_squash:root权限压缩为nobody;默认设置
all_squash:所有用户权限压缩为nobody;
async:异步传输;sync同步传输
anonuid:指定映射为某特定uid
anongid:指定映射为某特定gid
维护nfs文件系统,重新导出nfs文件系统
exportfs -ar
客户端查看nfs共享
showmount -e ip
挂载nfs共享:
mount -t nfs nfs服务器:/dir 挂载点
挂载常用参数:
rsize:读缓冲大小
wsize:写缓冲大小
proto:指定传输协议tcp|udp
timeo:超时时长,单位为十分之一秒;
_netdev:告诉内核这是挂载网络设备,避免无法开机;
samba:跨平台文件共享;通过cifs
smb:server message block:服务消息块
cifs:common internet file system:通用互联网文件系统
137/udp,138/udp:用于netbios,windows基于主机名实现互相通信的机制;最长15个字符
139/tcp,445/tcp:
samba:
nmbd:netbios
smbd:cifs
winbindd:让linux加入windows的ad域控
1、交互式数据访问
探测samba服务器的共享信息:smbclient -L HOST -U USERNAME
连接samba,访问共享:smbclient //SERVER/shared_name -U USERNAME
2、挂载方式访问
mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
服务器:# yum install samba -y
主配置文件:/etc/samba/smb.conf
centos6下web配置工具:samba-swat
测试配置文件语法错误:testparm
a、全局设定:
workgroup = WORKGROUP :工作组
server string = Samba Server Version %v
netbios name = sambaserver :netbios名称
security = :设定安全级别;share:匿名共享;user:使用samba管理的帐号和密码;domain:使用DC域控;
passwd backend = tdbsam :使用windows的sam存储密码
display charset = :当前samba服务所用字符集
unix charset = :当前linux主机所用字符集
dos charset = :windows端的字符集
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
b、某特定共享的设定:
1、私有家目录
2、打印机共享
3、自定义共享
[shared_name]
path = /path/to/share_dir
comment = 注释信息
guest ok = yes|no、public = yes|no
writable = yes|no、read only = yes|no :是否所有用户可写
browseable = yes|no:所有用户是否可浏览
write list = +|@GROUP_NAME :仅指定用户或组可写
samba用户:
账号:都是系统用户,/etc/passwd
密码:samba服务自有密码文件
samba用户管理命令:pdbedit [options]
-L:显示所有samba用户
-v:显示详细信息
-a -u USERNAME:添加用户
-x:删除指定用户
-r:修改指定用户
将系统用户转换为samba用户的命令:smbpasswd
-a:添加用户
-d:禁用
-e:启用
-x:删除
可用宏列表:
%m:客户端主机的netbios名称
%M:客户端主机的hostname
%H:当前用户的家目录
%U:当前用户的用户名
%g:当前用户的组名
%h:当前samba主机的hostname
%I:客户端主机ip
%T:当前的日期时间
服务器端显示samba的相关共享状态信息:smbstatus
-b:简要信息
-v:显示详细信息
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99779