restrict the user not to key in more than 50 chars


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting restrict the user not to key in more than 50 chars
# 15  
Old 08-14-2008
someone gave me one option like

echo -n "ENTER"
read -n 50 name

but it didnt work

even i was thinking that there is nothing like that in unix
# 16  
Old 08-14-2008
may be new version of unix may have that but AIX and current unix don't have any such option..
# 17  
Old 08-14-2008
Hi.

I dislike using the sledgehammer of dd, but this does seem to work:
Code:
#!/bin/sh -

# @(#) s3       Demonstrate read one character in shell.
# See man stty and
# http://cs.senecac.on.ca/~lczegel/UNX510/lectures/Lecture6.html
# for some details.

echo
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) stty dd
set -o nounset

echo
string=""
oldsettings=$(stty -g)
stty -icanon min 1 time 0 -icrnl -echo

i=0
printf " Enter your string:\n"
while :
do
  ch=$(dd bs=1 count=1 2> /dev/null)
  printf "$ch"
  i=`expr $i + 1`
  if [ $i -gt 3 ]
  then
    printf " \nToo many characters, kept only 3: \"$string\".\n"
        break
  fi
  string="${string}$ch"
done

stty $oldsettings
echo " Final value of string is \"$string\""

exit 0

producing:
Code:
$ ./s3

(Versions displayed with local utility "version")
AIX 1
sh - no version provided for /usr/bin/sh.
stty - no version provided for /usr/bin/stty.
dd - no version provided for /usr/bin/dd.

 Enter your string:
abcd
Too many characters, kept only 3: "abc".
 Final value of string is "abc"

Best wishes ... cheers, drl
# 18  
Old 08-14-2008
MySQL

great job!!!!!!!!
# 19  
Old 08-16-2008
Hi.

This is a slightly improved version. The older version did not allow less than the required number in a friendly way, and required n+1 characters to be entered. This version stops at n characters, and recognizes a CR as a termination.
Code:
#!/bin/sh -

# @(#) s4       Demonstrate read one character in shell.
# See man stty and
# http://cs.senecac.on.ca/~lczegel/UNX510/lectures/Lecture6.html
# for some details.

echo
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) stty dd
set -o nounset

echo
string=""
oldsettings=$(stty -g)
stty -icanon min 1 time 0 -icrnl -echo

i=0
last=false
printf " Enter your string:\n"
while :
do
  ch=$(dd bs=1 count=1 2> /dev/null)
  printf "$ch"
  # To get a real "^M" with vi/vim, use control-v control-Enter.
 ]]f [[ "$ch" =
  then
    printf "\n"
    last=true
  else
    string="${string}$ch"
    i=$( expr $i + 1 )
    if [[ $i -ge 3 ]]
    then
          printf "\n"
      last=true
    fi
  fi
  if [ $last = true ]
  then
    break
  fi
done

stty $oldsettings
echo " Final value of string is \"$string\""

exit 0

Producing:
Code:
aix drl 405 $ ./s4

(Versions displayed with local utility "version")
aix 5.1
sh - no version provided for /usr/bin/sh.
stty - no version provided for /usr/bin/stty.
dd - no version provided for /usr/bin/dd.

 Enter your string:
abc
 Final value of string is "abc"
aix drl 405 $
aix drl 405 $ ./s4

(Versions displayed with local utility "version")
aix 5.1
sh - no version provided for /usr/bin/sh.
stty - no version provided for /usr/bin/stty.
dd - no version provided for /usr/bin/dd.

 Enter your string:
xy
 Final value of string is "xy"

cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. HP-UX

Restrict ssh for particular user

Dear Concern, We want to restrict ssh for particular user "oracle". Our HP UX version is as below. Please advise. # uname -a HP-UX tabsdb02 B.11.31 U ia64 2963363594 unlimited-user license (2 Replies)
Discussion started by: makauser
2 Replies

2. AIX

How to restrict user to a particular directory?

hi, I want to restrict some user access to only 1 directory (including all sub-directories/files in it). can you please explain me, how can we do this? example; Filesystem GB blocks Used Free %Used Mounted on /dev/hd4 2.61 1.02 1.59 40% / /dev/hd2 ... (7 Replies)
Discussion started by: aaron8667
7 Replies

3. Red Hat

Restrict user access

Hi there I have an application user on my system that wants accesses to these file systems as such: rwx: /SAPO /SAPS12 /R3_888 /R3_888B /R3_888F /R3_888R r: /usr/sap these are the existing FS permissions:ownerships: # ls -ld /SAPO (9 Replies)
Discussion started by: hedkandi
9 Replies

4. UNIX for Dummies Questions & Answers

Restrict user access.

Hi All, How can we restrict a particular user access to a particular shell in solaris 10. Thanks in Advance. (5 Replies)
Discussion started by: rama krishna
5 Replies

5. Red Hat

Restrict user to a particular directory

Hi I have a Fedora10 server and i need a particular user to view files only in a particular folder. All other files in other folders having "read" permission for all shouldn't be accessible to this user. Please let me know if ther's a way. Thanks, HG (5 Replies)
Discussion started by: Hari_Ganesh
5 Replies

6. UNIX for Dummies Questions & Answers

Restrict command for an user ?

Hi everyone ! I got "viewer" and "root" user on a *nix computer. When i log in using "viewer" I only can use "df" command. When I try another command like "ls" it say : -bash: ls: command not found I checked permission of "/bin/ls" file, it has excute permission for everyone. Inside home... (4 Replies)
Discussion started by: camus
4 Replies

7. Red Hat

ICU resource bundling on Linux: error faced while using Key more than 15 chars

Hi, I am trying to use ICU resource bundle on Unix and created a resource bundle "root.res" from the following file. root { abcdefghijklmnop { "16 character key" } abcdefghijklmno { "15 character key" } abcdefghijklmn { "14 character key" } abcdefghijklm12 { "13 C... (0 Replies)
Discussion started by: prashant_jindal
0 Replies

8. AIX

New user and restrict path

Hello I have a question in Aix 5.3 can I create a user, that only can see a specify path. I mean the user log in the default path its /home/newuser he type cd the path that need to check /example/directory_check but if he wants to go to / or any other path. we can not do this. I only... (1 Reply)
Discussion started by: lo-lp-kl
1 Replies

9. UNIX for Advanced & Expert Users

restrict the user not to key in more than 50 chars

am looking like something... eg: Input:testing and the cursor should stop after a particular length and not allow user to enter any more chars in shell scripting not awk (1 Reply)
Discussion started by: injeti
1 Replies

10. Solaris

restrict a user to certain command

Hi all, I am using Sun OS 5.10. I am new to Unix. Is there some way to restrict a specific user to certain command say "/usr/bin/more" ?? for example: I want that user1 can execute more command & user2 can't. Can we somehow edit .profile file in the home directory of user to achieve... (1 Reply)
Discussion started by: vikas027
1 Replies
Login or Register to Ask a Question