내가 관리하는 서버에 동료를 위한 공유 디렉터리를 설정하라는 요청을 받았습니다. 나는 그 서버에 그를 위한 계정을 만들고 Samba 비밀번호를 설정했습니다.smbpasswd, 디렉토리를 생성하고 smb.conf 파일에 설정한 후 다음과 같이 복사했습니다.
[global]
workgroup = OURWORKGROUP
server string = Samba Server %v
netbios name = server_i_run
security = user
map to guest = bad user
name resolve order = bcast lmhosts host wins
dns proxy = no
[coworkerguy]
path = /samba/coworkerguy
valid users = coworkerguy
guest ok = no
writable = yes
browsable = yes
이제 이 공간을 2GB로 제한하라는 메시지가 표시됩니다. 온라인에서 아이디어를 찾고 있었지만 최신 정보를 찾을 수 없었습니다. 디스크 할당량을 설정하는 것이 가장 인기 있는 솔루션 중 하나인 것 같습니다. 나는 이것에 대해 그렇게 확신하지 못한다는 것을 인정하며, 내가 뭔가 잘못 이해하지 않는 한 단일 사용자 모드에서 재부팅해야 하는 경우가 종종 있습니다. SSH를 통해서만 원격으로 서버에 연결할 수 있으므로 불가능합니다. 사용할 수 있는 기술이 있나요? 그렇지 않다면 누군가 나에게 바보 방지 가이드를 알려줄 수 있습니까?
답변1
내 솔루션이 최고는 아니지만 작동한다는 것을 알고 있습니다 ;-). 편집: 제 다른 답변도 읽어보세요. 이 답변은 사악한 해킹입니다!
dd를 사용하여 2GB 파일을 생성하고, 파일을 포맷(예: ext3)하고, 마운트하고, fstab에 추가하고 공유로 사용합니다.
$ dd if=/dev/zero of=filename bs=1024 count=2M
$ sudo mkfs.ext4 filename
$ cat /etc/fstab
/path/to/filename /mount/point ext4 defaults,users
이제 공유를 /mount/point
(또는 설치하기로 선택한 곳) 지정하면 됩니다.
path = /samba/coworkerguy
~이 되다
path = /mount/point
UNIX에서는 모든 것이 파일입니다.
답변2
또 다른 더 깨끗한 옵션이 있습니다. 디스크 할당량이 활성화된 커널이 필요하지만 단일 사용자 모드는 없습니다.
기본적으로 설치 옵션을 편집 /etc/fstab
하고 usrquota
파티션에 추가합니다. 그런 다음 파티션을 다시 마운트합니다.
$ sudo mount -o remount /dev/sd<x><y>
<x>
디스크 문자와 <y>
디스크의 파티션 번호 는 어디에 있습니까(사용된 경우 마운트 사용 uuid
참조 ).man mount
uuid
그런 다음 다음 명령을 실행하여 할당량 파일을 생성할 수 있습니다.
$ sudo quotacheck -avug
할당량 파일이 있으면 다음 할당량을 추가할 수 있습니다 coworkerguy
.
$ sudo edquota coworkerguy
기본적으로 편집기는 입니다 vi
. EDITOR
변수를 원하는 편집기로 설정하고 위 명령을 다시 실행하세요 nano
.gedit
$ export EDITOR=gedit
이제 quotacheck
다음에 추가할 수 있습니다.cron
$ sudo echo 'quotacheck -avug' >/etc/cron.daily/quotacheck
바라보다http://www.thegeekstuff.com/2010/07/disk-quota/정확한 단계와 출력을 얻으려면.
또한보십시오http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html
답변3
이 디렉터리에 설치된 블록 장치를 사용하겠습니다. LVM은 여기서 유용합니다. 2G 논리 볼륨을 생성하고 /samba/coworkerguy
. 이렇게 하면 할당량 요구 사항을 우회하고 크기를 엄격하게 제한하여 정확한 요구 사항을 충족합니다.